Как я могу предварительно заполнить электронную почту для SAML Google IDP? - PullRequest
0 голосов
/ 30 марта 2019

Мы используем SAML 2.0 для единого входа и хотим улучшить UX, позволяя пользователю вводить свою электронную почту только один раз (чтобы определить, что ему нужен SSO). Можно ли предварительно заполнить поле электронной почты SAML SSO при аутентификации с помощью SAMP IDP от Google?

Я знаю, что AuthnRequest имеет необязательное поле Subject, которое может передавать основную информацию в 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 Ответ

0 голосов
/ 03 апреля 2019

Элемент Subject является необязательным в запросе аутентификации, и даже если он включен, он игнорируется большинством IdP.Поскольку запрос аутентификации может быть отправлен провайдеру идентификации анонимной стороной, выполнение действия UX, о котором вы думаете, наверняка приведет к легкому фишинговому вектору.

...