AADSTS50020,租戶中不存在來自身份提供商的用戶帳戶

AADSTS50020,租戶中不存在來自身份提供商的用戶帳戶

在本文中,我們將討論解決AADSTS50020“租戶中不存在來自身份提供商的用戶帳戶”錯誤的可能修復方法。當身份提供商 (IdP) 的來賓用戶無法登錄到 Azure Active Directory (Azure AD) 中的資源租戶時,通常會發生此錯誤。您可能會在不同情況下看到此錯誤。每種情況都需要不同的故障排除方法。

AADSTS50020,租戶中不存在來自身份提供商的用戶帳戶

來賓用戶嘗試訪問資源租戶中的應用程序或資源時看到的完整錯誤消息是:

AADSTS50020:租戶 {ResourceTenantName} 中不存在來自身份提供商 {IdentityProviderURL} 的用戶帳戶“ [email protected] ”。

在查看主租戶的日誌時,管理員將看到以下錯誤消息:

租戶 {tenant} 中不存在來自身份提供商 {idp} 的用戶帳戶 {email},並且無法訪問該租戶中的應用程序 {appId}({appName})。需要先將該帳戶添加為租戶中的外部用戶。註銷並使用不同的 Azure Active Directory 用戶帳戶再次登錄。

AADSTS50020,租戶中不存在來自身份提供商的用戶帳戶

以下解決方案將幫助您修復 AADSTS50020,租戶中不存在來自身份提供商的用戶帳戶錯誤。

  1. 更改應用註冊清單中的登錄受眾設置
  2. 使用正確的登錄 URL
  3. 註銷,然後從其他瀏覽器或專用瀏覽器會話再次登錄
  4. 邀請訪客用戶
  5. 為用戶分配訪問權限(如果適用)
  6. 使用特定於租戶或組織的端點
  7. 重置訪客用戶帳戶的兌換狀態

讓我們詳細看看所有這些修復。

1]更改應用程序註冊清單中的登錄受眾設置

導致此錯誤的一個可能原因是租戶使用不受支持的帳戶類型。例如,如果為您的應用程序註冊設置了單租戶帳戶類型,則來自其他已識別提供商的用戶無法登錄該應用程序。

要修復 AADSTS50020 錯誤,請更改應用註冊清單中的登錄受眾設置,如下所示:

  1. 轉到Azure 門戶
  2. 選擇應用程序註冊
  3. 選擇您的應用程序註冊名稱。
  4. 從側欄中選擇清單。
  5. JSON 代碼中,找到signInAudience 設置。
  6. 檢查以下值之一的設置:
  • AzureAD 和個人 Microsoft 帳戶
  • AzureAD多個組織
  • 個人微軟帳戶

SignInAudience 應包含上述值之一。如果您在 SignInAudience 設置中找不到任何這些值,則必須重新創建應用程序註冊。

2]使用正確的登錄URL

導致此錯誤的另一個原因是使用了不正確的登錄 URL。例如,如果您使用 https://login.Microsoftonline.com/<YourTenantNameOrID> URL,則身份驗證應僅在您的租戶上運行。這就是其他組織中的用戶無法訪問該應用程序的原因。當其他用戶嘗試這樣做時,他們將收到登錄錯誤。

要解決此問題,您必須將這些用戶添加為請求中指定的租戶中的來賓。您可以為特定類型的應用程序使用相應的登錄 URL。下面提到了一些例子:

對於多租戶應用程序類型,您可以使用以下登錄 URL。

https://login.microsoftonline.com/organizations

如果您使用多租戶和個人帳戶類型,則可以使用以下登錄 URL。

https://login.microsoftonline.com/common

僅對於個人帳戶,請使用此登錄 URL。

https://login.microsoftonline.com/consumers

3]註銷,然後從不同的瀏覽器或私人瀏覽器會話再次登錄

有時,當用戶登錄到錯誤的租戶時,會出現此錯誤。例如,當用戶的 Web 瀏覽器中已存在活動會話,並且他/她嘗試通過單擊相應鏈接或在新選項卡中輸入所需 URL 來訪問您的應用程序時。

在這種情況下,請要求來賓用戶執行以下操作之一:

  • 註銷已在他/她的網絡瀏覽器中打開的帳戶。這將結束已經處於活動狀態的會話。現在,他/她可以使用正確的鏈接和憑據登錄。
  • 使用不同的網絡瀏覽器登錄。
  • 在同一 Web 瀏覽器中的“私密”或“隱身”窗口中登錄。

4]邀請訪客用戶

當未邀請來賓用戶時也會出現此錯誤。這種情況的解決方案很簡單。邀請訪客用戶。

5]為用戶分配訪問權限(如果適用)

如果您的應用程序是需要用戶分配的企業應用程序,並且該用戶不在已分配訪問該應用程序的允許用戶列表中,則會發生此錯誤。

您可以按照以下步驟檢查您的企業應用程序是否需要用戶分配:

  1. 轉到 Azure 門戶。
  2. 選擇企業應用程序
  3. 選擇您的企業應用程序。
  4. 選擇屬性
  5. 檢查“需要分配”選項是否設置為“是”。如果設置為“是”,則該應用程序需要用戶分配。

在這種情況下,將訪問權限單獨分配給用戶或作為組的一部分。

6]使用特定於租戶或組織的端點

當用戶嘗試為其個人帳戶使用資源所有者密碼憑據 (ROPC) 流程時,也可能會出現錯誤代碼 AADSTS50020。Microsoft Identity Platform 僅支持 Azure AD 租戶中的 ROPC,而不支持個人帳戶。

在這種情況下,用戶必須使用特定於租戶或組織的端點。請注意,即使個人帳戶被邀請加入 Azure AD 租戶,也無法使用 ROPC。

7]重置訪客用戶帳戶的兌換狀態

如果管理員在資源租戶中刪除了來賓用戶的用戶名,並在主租戶中重新創建了該用戶名,則來賓用戶將遇到此錯誤。管理員還應驗證資源租戶中的來賓用戶帳戶是否與主租戶中的來賓用戶帳戶關聯。

要修復這種情況下的錯誤,請重置資源租戶中來賓用戶帳戶的兌換狀態。

就是這樣。我希望這有幫助。

Azure 中使用什麼租戶 ID?

Azure 中的租戶 ID 是 Azure Active Directory (Azure AD) 租戶的唯一標識符。它也稱為 Office 365 租戶 ID。獲取 Azure 租戶 ID 的方法有多種。

誰是租戶管理員?

租戶管理員是在 Azure Active Directory (Azure AD) 租戶中擁有最高級別權限的用戶。他/她可以管理租戶的各個方面,包括用戶、組、權限和設置。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *