При вызове перенаправления Oath2 отсутствуют параметры

0

Я пытаюсь выполнить аутентификацию с помощью веб-службы семейной истории, которая аутентифицируется с использованием OAuth2. Основной процесс проверки подлинности заключается в том, что я отправляю запрос на получение запроса к веб-службе, запрашивающей сеанс аутентификации. Он возвращает в тело HTML-код ответа с некоторыми компонентами входа для имени пользователя и пароля. Мое приложение PHP затем перекликается с html-кодом в браузере. Затем конечный пользователь может ввести свое имя пользователя и пароль, а затем отправить на веб-службу. Здесь поведение становится неясным. Теоретически веб-служба должна перенаправлять на предопределенный URI перенаправления с некоторыми параметрами, включенными в URL-адрес. На практике, однако, отправка переадресации пароля на предварительно зарегистрированный URI перенаправления, но нет параметров, включенных в URL. Мой проект написан в основном на PHP. Это фрагмент кода, который делает основной запрос сеанса аутентификации.

function logOn($mainURL, $credentials)
{
// create a new HTTP_Request object to be used in the login process
$request = new HTTP_Request();

// set the URL of the HTTP_Request object to the family search identity/login endpoint

$request->setUrl("https://web-service/authentication/path?response_type=code&client_id=".$credentials['key']."&redirect_uri=https://www.myredirectPage.edu/");

$request->_useBrackets = false;
$request->addHeader("User-Agent", $credentials['agent']);
$request->addHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
$request->sendRequest();

//HTML_HEADER;

//the response will come in the form of an html file
$responseHtml = $request->getResponseBody();

//Dynamically load html from request body onto the browser to allow for authentication
echo $responseHtml;


return $credentials;
}

Конечный пользователь вводит свои учетные данные для входа, используя загруженные компоненты html и удаляет submit. Затем веб-служба перенаправляется на мою страницу проверки подлинности перенаправления. Ниже приведен код.

<?php

// process client request (Via url)
//gather code parameters from the redirect url.
if (isset($_GET['code']))
{
echo $_GET['code'];
}
else
{
echo "code not returned";
}
if (isset($_GET['error']))
{
echo $_GET['error'];
}
else
{
echo "error not returned";
}

?>

Заранее спасибо за любую помощь с этим.

Теги:
oauth-2.0

1 ответ

0
Лучший ответ

Когда я использую инструмент отладчика Google Chrome Network, я видел, что мой проект делал неожиданные поиски ресурсов Javascript и Css, что приводило к 404 (не найденным) ошибкам. При ближайшем рассмотрении я мог видеть, что ресурсы являются относительными путями к ресурсам, которые находятся на сервере веб-сервисов. Вместо поиска https://webService.net/js/importantJavascript.js (существующего файла, расположенного на веб-сервере службы), он пытался найти " https://mywebpage.edu/js/importantJavascript.js '(путь к файлу, который не существует).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню