AADSTS50020,租户中不存在身份提供商用户帐户

在本文中,我们将讨论解决该问题的可能修复方法 AADSTS50020,租户中不存在身份提供商用户帐户 错误。 当身份提供商 (IdP) 来宾用户无法登录到 Azure Active Directory (Azure AD) 中的资源租户时,通常会发生此错误。 此错误可能在各种情况下发生。 每种情况都需要不同类型的故障排除。

来宾用户尝试访问资源租户中的应用程序或资源时看到的完整错误消息是:

AADSTS50020:用户帐户 ‘[email protected]租户 {ResourceTenantName} 中不存在来自身份提供商 {IdentityProviderURL} 的“。

在查看家庭租户的日志时,管理员看到以下错误消息:

来自身份提供商 {idp} 的用户帐户 {email} 不存在于租户 {tenant} 中,并且无法访问此租户中的应用程序 {appId}({appName})。 必须首先将该帐户添加为租户中的外部用户。 注销并使用不同的 Azure Active Directory 用户帐户再次登录。

AADSTS50020,租户中不存在身份提供商用户帐户

以下解决方案将帮助您解决错误 AADSTS50020“租户中不存在来自身份提供商的用户帐户”。

  1. 更改应用注册清单中的登录受众设置
  2. 使用正确的登录 URL
  3. 注销然后通过另一个登录 Browser 或重新连接私密浏览会话
  4. 邀请访客用户
  5. 为用户分配访问权限(如果适用)
  6. 使用特定于租户或组织的端点
  7. 重置访客用户帐户兑换状态

让我们详细看看所有这些修复。

1]更改应用程序注册清单中的登录受众设置

导致此错误的可能原因是租户正在使用不受支持的帐户类型。 例如,如果您的应用程序注册设置为单租户帐户类型,则来自其他已识别提供商的用户无法登录该应用程序。

要解决 AADSTS50020 错误,请更改应用注册清单中的登录受众设置,如下所示:

  1. Azure 门户
  2. 选择 应用程序注册
  3. 选择您的应用程序注册名称。
  4. 选择 显现从侧边栏。
  5. 在里面 JSON代码找到signInAudience 设置。
  6. 使用以下值之一检查设置:
    • AzureAD 和个人 Microsoft 帐户
    • AzureAD多个组织
    • 个人微软帐户

SignInAudience 应包含上述值之一。 如果您在 SignInAudience 设置中找不到任何这些值,则需要重新创建应用注册。

2]使用正确的登录URL

导致此错误的另一个原因是使用了不正确的登录 URL。 例如,如果您输入 URL https://login.Microsoftonline.com/ 如果您使用身份验证,则身份验证预计仅在您的租户上运行。 因此,其他组织中的用户无法访问该应用程序。 如果其他用户尝试此操作,他们将收到登录错误消息。

要解决此问题,您必须将这些用户作为来宾添加到请求中指定的租户中。 您可以针对特定应用程序类型使用适当的登录 URL。 以下是一些示例:

对于多租户应用程序类型,您可以使用以下登录 URL。

https://login.microsoftonline.com/organizations

如果您使用多租户和个人帐户类型,则可以使用以下登录 URL。

https://login.microsoftonline.com/common

仅将此登录 URL 用于个人帐户。

https://login.microsoftonline.com/consumers

3]注销然后通过另一个登录 Browser 或重新连接私密浏览会话

有时,当用户登录到错误的租户时,会出现此错误。 例如,如果用户在其 Web 浏览器中已经有一个活动会话,并尝试通过单击相关链接或在新选项卡中输入所需的 URL 来访问您的应用程序。

在这种情况下,请要求访客用户执行以下操作之一:

  • 注销已在其网络浏览器中打开的帐户。 这将结束已经处于活动状态的会话。 现在他/她可以使用正确的链接和凭据登录。
  • 使用不同的网络浏览器登录。
  • 在同一 Web 浏览器中的私人或隐身窗口中登录。

4]邀请访客用户

如果未邀请来宾用户,也会出现此错误。 解决这种情况的方法很简单。 邀请访客用户。

5]为用户分配访问权限(如果适用)

如果您的应用程序是需要用户分配的企业应用程序,并且该用户不在分配了该应用程序访问权限的允许用户列表中,则会发生此错误。

您可以按照以下步骤检查您的企业应用程序是否需要用户分配:

  1. 转到 Azure 门户。
  2. 选择 商业应用)
  3. 选择您的企业应用程序。
  4. 选择 特征
  5. 检查是否 需要作业 选项设置为 是的。 如果设置为“是”,则此应用程序需要用户分配。

在这种情况下,请单独或作为组的一部分向用户分配访问权限。

6]使用特定于租户或组织的端点

当用户尝试为其个人帐户使用资源所有者密码凭据 (ROPC) 流程时,也可能会出现错误代码 AADSTS50020。 Microsoft Identity Platform 仅支持 Azure AD 租户内的 ROPC,而不支持个人帐户。

在这种情况下,用户必须使用特定于租户或组织的端点。 请注意,个人帐户无法使用 ROPC,即使他们被邀请加入 Azure AD 租户也是如此。

7]重置访客用户帐户兑换状态

如果管理员在资源租户中删除了来宾用户的用户名,然后在主租户中重新创建了该用户名,则来宾用户将遇到此错误。 管理员还应确保资源租户中的来宾用户帐户未链接到主租户中的来宾用户帐户。

要解决这种情况下的错误,请在资源租户中重置来宾用户帐户的兑换状态。

就是这样。 我希望它有帮助。

Azure 中使用哪个租户 ID?

Azure 中的租户 ID 是 Azure Active Directory (Azure AD) 租户的唯一标识符。 它还说 Office 365 租户 ID。 获取 Azure 租户 ID 的方法有多种。

租客是谁? admin?

一个租客 admin 是 Azure Active Directory (Azure AD) 租户中具有最高权限级别的用户。 他/她可以管理租户的各个方面,包括用户、组、权限和设置。

继续阅读:错误AADSTS90100,登录参数为空或无效。