联合用户登录到 Microsoft 365、Azure 或 Intune 时出现“80041317”或“80043431”错误

问题

当联合用户尝试从 URL 以“”https://login.microsoftonline.com/login开头的登录网页登录到 Microsoft 云服务(如 Microsoft 365、Microsoft Azure 或 Microsoft Intune),该用户的身份验证将失败。 此外,用户会收到以下错误消息:

Sorry, but we're having trouble signing you in 

Please try again in a few minutes. If this doesn't work, you might want to contact your admin and report the following error:
80041317 or 80043431 

原因

当本地 Active Directory联合身份验证服务 (AD FS) 服务和Microsoft Entra身份验证系统的联合域的配置设置不匹配时,会出现此问题。 这会导致 AD FS 服务提供的声明格式不正确,因此被Microsoft Entra身份验证系统拒绝。

注意

在本地续订令牌签名证书而不更新联合信任数据后,可能会发生这种情况。

注意

自 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. 验证 AD FS 服务和 Microsoft 云服务之间的不匹配属性。 为此,请按照下列步骤操作:
    1. 依次单击“开始”、“所有程序”、“Microsoft Entra ID”,然后单击Windows PowerShell Microsoft Azure Active Directory模块

    2. 在命令提示符下,键入以下命令。 键入每个命令后,请确保按 Enter:

      $cred = get-credential
      

      注意

      出现提示时,输入云服务管理员凭据。

      Connect-MSOLService –credential:$cred
      
      Set-MSOLADFSContext –Computer:<AD FS 2.0 Server Name>
      

      注意

      在此命令中,占位符 <AD FS 2.0 服务器名称> 表示主 AD FS 服务器的 Windows 主机名。

      Get-MsolFederationProperty -domainname: <Federated Domain Name>
      

      注意

      在此命令中 <,联合域名> 占位符表示已与云服务联合的域的名称,用于单一登录 (SSO) 。

      注意

      命令输出分为以下两个部分:

      • 第一节的第一行为“源:AD FS 服务器”,表示存储在本地 AD FS 服务中的配置。
      • 第二部分的第一行为“源: <Microsoft 云服务>”,表示标识服务中存储的配置。

      输出类似于:

      键入命令后输出结果的屏幕截图。

  2. 比较两个部分中每个属性的值,以确定值是否不匹配。 如果值不匹配,则必须更新联合域配置。

解决方案

若要解决此问题,请使用以下某种方法:

方法 1:更新联合域的配置

有关如何执行此操作的详细信息,请参阅如何更新或修复 Microsoft 365、Azure 或 Intune 中联合域的设置中的“如何更新 Microsoft 365 联合域的配置”部分。

方法 2:修复联合域的配置

如果方法 1 无法解决问题,请尝试修复联合信任。 有关如何执行此操作的详细信息,请参阅如何更新或修复 Microsoft 365 联合域的配置中的“ 如何修复 Microsoft 365 联合域的配置 ”部分。

方法 3:使用用于Windows PowerShell的 Azure Active Directory 模块手动更新属性

如果方法 1 和 2 无法解决问题,请尝试手动更新不匹配的属性。 在用于诊断问题的Windows PowerShell连接中,运行下表中的相应 cmdlet:

不匹配的属性 错误代码 用于更新属性的命令 注意
FederationServiceIdentifier 80043431 Set-MSOLDomainFederationSettings -domain name <Domain.suffix> -issueruri <newURI> 占位符 <Domain.suffix> 表示联合域名。 占位符 <newURI> 表示本地 FederationServiceIdentifierattribute (在 Get-MsolFederationProperty cmdlet) 的输出中首先列出的 URI 值。

仍然需要帮助? 转到 Microsoft 社区Microsoft Entra论坛网站。