Microsoft Entra ID 中的联合用户可能需要登录两次,然后系统才会提示进行 MFA

本文讨论以下问题:Microsoft Entra ID 中的联合用户必须先登录两次,然后才能运行 MFA。

原始产品版本:Microsoft Entra ID
原始 KB 编号: 4037806

症状

请考虑以下情况:

  • 你有一个Microsoft Entra租户,其中用户通过 Active Directory 联合身份验证服务 (AD FS) 联合。
  • 在此租户中,Azure MFA 服务器或第三方 MFA 提供程序部署在 AD FS 中。

在这种情况下,在系统提示用户进行多重身份验证 (MFA) 并可以完成登录之前,可能会通过提供两次用户名和密码来强制用户登录。

原因

如果将 MsolDomainFederationSettings -SupportsMFA 值设置为 $true 并将 -PromptLoginBehavior 值设置为 TranslateToFreshPasswordAuth,Microsoft Entra ID将 MFA 请求发送到标识提供者以进行升级身份验证。 Microsoft Entra ID还会要求用户重新登录。 这是通过将以下参数发送到 AD FS 来实现的:

wauth=http://schemas.microsoft.com/claims/multipleauthn
wfresh=0

发生这种情况时,系统会再次提示用户输入用户名和密码,而不管他们是否刚刚登录。 仅当用户第二次输入其凭据后,才会提示用户进行 MFA。

解决方案

若要解决此问题,必须将 Microsoft Entra ID配置为让 AD FS 通过将 -PromptLoginBehavior 设置更改为 NativeSupport 来本机处理此请求。 为此,请按照下列步骤操作:

重要

AD FS 部署必须在 Windows Server 2016 或 Windows Server 2012 R2 上运行,并且必须安装 2016 年 7 月更新 KB 3172614

注意

自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模块已弃用。 若要了解详细信息,请阅读 弃用更新。 在此日期之后,对这些模块的支持仅限于 Microsoft Graph PowerShell SDK 和安全修补程序的迁移帮助。 弃用的模块将继续运行到 2025 年 3 月 30 日。

建议迁移到 Microsoft Graph PowerShell,以便与以前为 Azure AD) Microsoft Entra ID (交互。 有关常见的迁移问题,请参阅 迁移常见问题解答注意: MSOnline 1.0.x 版可能会在 2024 年 6 月 30 日之后遇到中断。

  1. 运行以下命令Connect以登录到 Microsoft Entra ID 管理员帐户:

    Connect-Msolservice
    

    注意

    每次启动新会话时运行此命令。

  2. 使用 prompt=login 行为将Microsoft Entra ID配置为运行联合用户身份验证。 这可以防止用户开始新的身份验证。 例如,运行如下所示的命令,其中包含特定于租户的信息:

    Set-MsolDomainFederationSettings -DomainNameyour_domain_name-PreferredAuthenticationProtocol <current auth setting such as WsFed> -SupportsMfa $True -PromptLoginBehavior NativeSupport
    

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。