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

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

Что такое запрос=login?

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

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

По умолчанию идентификатор Microsoft Entra преобразуется prompt=loginwfresh=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 может отправлять этот параметр как есть в службу 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 или более поздней версии

Настройка федеративного домена для отправки запроса=входа в 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=loginwauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password в и wfresh=0.
  • NativeSupport: означает, что prompt=login параметр будет отправлен как в AD FS. Это рекомендуемое значение, если AD FS находится в Windows Server 2012 R2 с накопительным пакетом обновления 2016 г. или выше.
  • Отключено: означает, что wfresh=0 только отправляется в AD FS.