Поделиться через


Поддержка параметра prompt=login в службе федерации Active Directory

В данном документе описывается встроенная поддержка параметра prompt=login, доступного в AD FS.

Что означает prompt=login?

Когда приложениям необходимо запросить новую проверку подлинности из идентификатора Microsoft Entra ID, то есть для повторной проверки подлинности пользователя требуется идентификатор Microsoft Entra, даже если пользователь уже прошел проверку подлинности, он может отправить параметр prompt=login идентификатору Microsoft Entra в рамках запроса проверки подлинности.

Если этот запрос касается федеративного пользователя, Microsoft Entra ID должен сообщить поставщику удостоверений, например, AD FS, что этот запрос предназначен для новой аутентификации.

По умолчанию идентификатор Microsoft Entra преобразует prompt=login в wfresh=0 и wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password при отправке этих запросов проверки подлинности федеративной поставщику удостоверений.

Эти параметры означают:

  • wfresh=0: сделайте новую проверку подлинности
  • wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password: используйте имя пользователя и пароль для нового запроса проверки подлинности

Это может привести к проблемам с корпоративной интрасетью и многофакторной проверкой подлинности, в которых требуется тип проверки подлинности, отличный от имени пользователя и пароля, по запросу параметра wauth.

AD FS в Windows Server 2012 R2 с накопительным пакетом обновления за июль 2016 г. появилась встроенная поддержка параметра prompt=login. Это означает, что теперь идентификатор Microsoft Entra может отправлять этот параметр as-is в службу AD FS в рамках запросов проверки подлинности Microsoft Entra ID и Office 365.

Версии AD FS, поддерживающие запрос на авторизацию=login

Ниже приведен список версий AD FS, поддерживающих параметр prompt=login.

  • AD FS в Windows Server 2012 R2 с накопительным пакетом обновления за июль 2016 г.
  • AD FS в Windows Server 2016 или более поздней версии

Настройка федеративного домена для отправки параметра prompt=login в AD FS

Используйте модуль Microsoft Graph PowerShell для настройки параметра.

  1. Сначала получите текущие значения FederatedIdpMfaBehavior, PreferredAuthenticationProtocolи PromptLoginBehavior для федеративного домена, выполнив следующую команду PowerShell:

    Get-MgDomainFederationConfiguration -DomainId <your_domain_name> | Format-List *
    

    Примечание.

    Выходные данные Get-MgDomainFederationConfiguration по умолчанию не отображают определенные свойства в консоли. Чтобы просмотреть все свойства, необходимо перенаправить (|) его вывод в Format-List *, чтобы обеспечить вывод всех свойств объекта.

    Если значение свойства PromptLoginBehavior пусто ($null) используется поведение TranslateToFreshPasswordAuth.

  2. Настройте требуемое значение PromptLoginBehavior, выполнив следующую команду:

    New-MgDomainFederationConfiguration -DomainId <your_domain_name> `
       -FederatedIdpMfaBehavior <current_value_from_step1> `
       -PreferredAuthenticationProtocol <current_value_from_step1> `
       -PromptLoginBehavior <TranslateToFreshPasswordAuth|NativeSupport|Disabled>
    

Ниже приведены возможные значения параметра PromptLoginBehavior и их значение.

  • TranslateToFreshPasswordAuth: означает поведение Microsoft Entra по умолчанию для перевода prompt=login на wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password и wfresh=0.
  • NativeSupport: означает, что параметр prompt=login будет отправлен в AD FS. Это рекомендуемое значение, если AD FS находится в Windows Server 2012 R2 с накопительным пакетом обновления от июля 2016 года или с более поздними версиями.
  • отключено: означает, что в AD FS отправляется только wfresh=0.