Я реализовал библиотеку OneLogin PHP SAML, и все работает хорошо, но кто-то спросил, можно ли отправить адрес электронной почты / имя пользователя из имени входа, инициированного SP, в IdP.
Видите ли, в данный момент поток входа пользователя будет приходить в форму входа на моем сайте, вводя его адрес электронной почты, после чего форма входа в систему будет видеть, как его учетная запись настроена для входа и перенаправления соответственно (или отображать поле пароля)если пользователь не проходит проверку подлинности с помощью SAML или oAuth).
Так что пришел запрос на отправку адреса электронной почты, который пользователь уже ввел в форму SP, чтобы он мог предварительно заполнить форму в IdPсторона, то есть пользователю не нужно вводить детали дважды.
Я понимаю, что это можно сделать с помощью информации <saml:Subject>
в пределах AuthnRequest
, но я не вижу возможности изменитьэти данные с библиотекой OneLogin.
Вероятно, я просто упускаю что-то действительно очевидное из документации по репозиторию GitHub, так чтоКто-нибудь указывает мне правильное направление?Можно ли добавить информацию о субъекте в запрос?
Код, используемый для инициализации входа из SP в IdP, довольно прост:
$samlConfig = SamlEntities::getConfig($idpCode, $applicationCode);
$auth = new \OneLogin_Saml2_Auth($samlConfig);
$auth->login();
SamlEntities::getConfig
просто объединяет SP иИнформация IdP из базы данных и конфигурационных файлов, где они хранятся.
Так что я думаю, что если это можно сделать, это будет место, где это сделать.