#single-sign-on #saml-2.0 #idp
#единый вход #saml-2.0 #idp
Вопрос:
Мы используем SAML 2.0 для единого входа и хотим улучшить пользовательский интерфейс, разрешив пользователю вводить свою электронную почту только один раз (чтобы определить, что ему нужен единый вход). Возможно ли предварительно заполнить поле электронной почты единого входа SAML при аутентификации с помощью SAML IDP от Google?
Я знаю, что в AuthnRequest есть необязательное поле темы, которое может передавать основную информацию IdP, но пока мне не удалось предварительно заполнить форму единого входа Google. Либо это не поддерживается IdP, либо я отправляю неправильную конфигурацию.
Существующая конфигурация, которую я пытался использовать, выглядит следующим образом:
<AuthnRequest xmlns="urn:oasis:names:tc:SAML:2.0:protocol" ID="_cd...." Version="2.0" IssueInstant="2019-01-01T00:00:00Z" Destination="https://accounts.google.com/o/saml2/idp?idpid=...">
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">(issuer_name)</saml:Issuer>
<Subject xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
<NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">me@example.com</NameID>
</Subject>
</AuthnRequest>
Я бы ожидал, что форма единого входа в Google будет автоматически заполняться me@example.com, но ничего не происходит.
Ответ №1:
Элемент Subject является необязательным в запросе на аутентификацию, и даже если он включен, большинство IDP игнорируют его. Поскольку запрос на аутентификацию может быть отправлен поставщику удостоверений анонимной стороной, выполнение UX-действия, о котором вы думаете, безусловно, приведет к легкому фишинговому вектору.