分享方式:


在外部租用戶中註冊應用程式

適用於具有灰色 X 符號的白色圓圈。 員工租用戶 具有白色核取記號的綠色圓圈。 外部租用戶 (深入了解)

Microsoft Entra 外部 ID 讓您的組織能夠管理客戶的身分識別,並安全地控制存取對外公開的應用程式和 API。 您的客戶可以購買產品、訂閱服務,或存取其帳戶與資料的應用程式。 您的客戶只需在裝置或網頁瀏覽器上登入一次,就有權存取您為其授與權限的所有應用程式。

若要讓應用程式使用外部識別碼登入,您必須使用外部識別碼來註冊應用程式。 應用程式註冊會在應用程式與外部識別碼之間建立信任關係。 在應用程式註冊期間,您會指定重新導向 URI。 重新導向 URI 是在使用者進行驗證之後,透過外部識別碼來將其重新導向到其中的端點。 應用程式註冊流程會產生可唯一識別您應用程式的應用程式識別碼 (也稱為用戶端識別碼)。

外部識別碼支援適用於各種現代化應用程式架構的驗證,例如 Web 應用程式或單頁應用程式。 每個應用程式類型與外部租用戶的互動都不同,因此,您必須指定要註冊的應用程式類型。

在本文中,您將了解如何在外部租用戶中註冊應用程式。

必要條件

選擇您的應用程式類型

註冊您的單頁應用程式

外部識別碼支援單頁應用程式 (SPA) 的驗證。

下列步驟示範如何在 Microsoft Entra 系統管理中心註冊您的 SPA:

  1. 至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心

  2. 如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示 ,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。

  3. 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]

  4. 選取 + 新增註冊

  5. 在出現的 [註冊應用程式] 頁面 中,輸入應用程式的註冊資訊:

    1. 在 [名稱] 區段中,輸入要向應用程式使用者顯示的有意義應用程式名稱,例如 ciam-client-app

    2. 在 [支援的帳戶類型] 底下,選取 [僅在此組織目錄中的帳戶]

    3. 在 [重新導向 URI (選用)] 底下,選取 [單頁應用程式 (SPA)],然後在 [URL] 方塊中,輸入 http://localhost:3000/

  6. 選取註冊

  7. 註冊完成時,將會顯示應用程式的 [概觀] 窗格。 記錄目錄 (租用戶) 識別碼應用程式 (用戶端) 識別碼,以用於您的應用程式原始程式碼。

關於重新導向 URI

重新導向 URI 是由授權伺服器 (在此案例中為 Microsoft Entra ID) 在完成與使用者的互動之後將使用者傳送到其中的端點,並在成功授權後將存取權杖或授權碼傳送到其中的端點。

在實際執行應用程式中,其通常是您應用程式執行所在之可公開存取的端點,例如 https://contoso.com/auth-response

在應用程式開發期間,您可以新增應用程式在本機接聽的端點,例如 http://localhost:3000. 您可以隨時在已註冊的應用程式中新增及修改重新導向 URI。

下列限制會套用至重新導向 URI:

  • 除非您使用 localhost 重新導向 URL,否則回覆 URL 的開頭必須是配置 https

  • 回覆 URL 會區分大小寫。 其大小寫必須符合您執行中應用程式之 URL 路徑的大小寫。 例如,如果您的應用程式包括作為其路徑 .../abc/response-oidc 的一部分,則請不要在回覆 URL 中指定 .../ABC/response-oidc。 由於網頁瀏覽器會將路徑視為區分大小寫,因此,如果將與 .../abc/response-oidc 相關聯的 Cookie 重新導向至不相符的 .../ABC/response-oidc URL,可能就會予以排除。

  • 回覆 URL 應該包括或排除結尾正斜線,因為您的應用程式預期該字元。 例如,https://contoso.com/auth-responsehttps://contoso.com/auth-response/ 可能會在應用程式中被視為不相符的 URL。

註冊應用程式之後,就會獲 指派User.Read 許可權。 不過,由於租使用者是外部租使用者,因此客戶使用者本身無法同意此許可權。 身為管理員的您必須代表租用戶中的所有使用者同意此權限:

  1. 從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。

  2. 在 [管理] 之下選取 [API 權限]

    1. 選取 [代表 <您的租用戶名稱> 授與管理員同意],然後選取 [是]
    2. 選取 [重新整理],然後確認 [為租用戶名稱>授與] <出現在許可權的 [狀態] 底下

授與 API 權限 (選用):

如果您的 SPA 需要呼叫 API,就必須為 SPA 授與 API 權限,才能呼叫 API。 您也必須註冊需要呼叫的 Web API

若要為您的用戶端應用程式 (ciam-client-app) 授與 API 權限,請遵循下列步驟:

  1. 從 [應用程式註冊] 頁面,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。

  2. 在 [管理] 之下選取 [API 權限]

  3. 在 [已設定的權限] 底下,選取 [新增權限]

  4. 選取 [我的組織使用的 API] 索引標籤。

  5. 在 API 清單中,選取 API,例如 ciam-ToDoList-api

  6. 選取 [委派的權限] 選項。

  7. 從權限清單,選取 [ToDoList.Read]、[ToDoList.ReadWrite] (如有必要,請使用搜尋方塊)。

  8. 選取 [新增權限] 按鈕。 此時,您已正確獲指派權限。 不過,由於租用戶是客戶的租用戶,因此取用者使用者本身無法同意這些權限。 若要解決此問題,身為系統管理員的您必須代表租用戶中的所有使用者同意這些權限:

    1. 選取 [代表 <您的租用戶名稱> 授與管理員同意],接著選取 [是]

    2. 選取 [重新整理],然後驗證 [已授與 <您的租用戶名稱>] 是否出現在這兩個範圍的 [狀態] 下方。

  9. 從 [已設定權限] 清單中,選取 [ToDoList.Read] 和 [ToDoList.ReadWrite] 權限 (一次一個),然後複製權限的完整 URI 以供稍後使用。 完整權限 URI 看起來與 api://{clientId}/{ToDoList.Read}api://{clientId}/{ToDoList.ReadWrite} 類似。

若您想要了解如何透過新增連結來公開權限,請移至 Web API 一節。

測試使用者流程(選擇性)

若要使用此應用程式註冊來測試 使用者流程 ,請啟用隱含授與流程以進行驗證。

重要

隱含流程應該僅用於測試目的,而不是用於驗證生產應用程式中的使用者。 完成測試之後,建議您將其移除。

若要啟用隱含流程,請遵循下列步驟:

  1. 至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心
  2. 如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示 ,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
  3. 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]
  4. 選取您建立的應用程式註冊。
  5. 在 [管理] 底下,選取 [驗證]
  6. 在 [Implicit grant and hybrid flows] \(隱含授與和混合式流程\) 下,選取 [ID tokens (used for implicit and hybrid flows)] \(識別碼權杖 (用於隱含和混合式流程)\) 核取方塊。
  7. 選取儲存

尋找應用程式 (用戶端) 識別碼

當您註冊新的應用程式之後,即可在 Microsoft Entra 系統管理中心的 [概觀] 中找到應用程式 (用戶端) 識別碼。

  1. 從 [應用程式註冊] 頁面,選取 [所有應用程式] 或 [擁有的應用程式] 索引標籤。

  2. 選取應用程式,以開啟其 [概觀] 頁面。

  3. 在 [基本] 底下,您可以找到包括應用程式 (用戶端) 識別碼在內的所有應用程式詳細資料。

    顯示應用程式 (用戶端) 識別碼的螢幕擷取畫面。

下一步