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

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

若要讓應用程式使用外部識別碼登入,您必須使用外部識別元註冊您的應用程式。 應用程式註冊會建立應用程式與外部標識碼之間的信任關係。 在應用程式註冊期間,您可以指定重新導向 URI。 重新導向 URI 是使用者在驗證之後,由外部標識元重新導向的端點。 應用程式註冊程式會產生應用程式識別碼,也稱為用戶端標識符,可唯一識別您的應用程式。

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

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

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶
  • 您的外部租使用者。 如果您還沒有試用版,請註冊 免費試用

選擇您的應用程式類型

註冊您的單頁應用程式

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

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

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

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

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

  4. 選取 + 新增註冊

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

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

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

    3. 在 [重新導向 URI(選擇性)] 下,選取 [單頁應用程式],然後在 [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的 URL,則可能會排除與相關聯的 .../abc/response-oidc Cookie。

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

授與委派的許可權

此應用程式會登入使用者。 您可以遵循下列步驟,將委派的許可權新增至其中:

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

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

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

  4. 選取 [Microsoft API] 索引 標籤。

  5. 在 [常用 Microsoft API] 區段底下,選取 [Microsoft Graph]。

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

  7. 在 [選取許可權] 區段下,搜尋並選取 openidoffline_access 許可權。

  8. 選取 [ 新增許可權] 按鈕。

  9. 此時,您已正確指派許可權。 不過,由於租用戶是客戶的租使用者,因此取用者使用者本身無法同意這些許可權。 身為系統管理員必須代表租使用者中的所有使用者同意這些許可權:

    1. 選取 [授與租用戶名稱>的<管理員同意],然後選取 []。
    2. 選取 [重新整理],然後確認 [為租用戶名稱>授與] <出現在這兩個範圍的 [狀態] 底下

授與 API 許可權(選擇性):

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

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

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

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

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

  4. 選取 [Microsoft API] 索引 標籤。

  5. 在 [常用 Microsoft API] 區段底下,選取 [Microsoft Graph]。

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

  7. 在 [選取許可權] 區段下,搜尋並選取 openidoffline_access 許可權。

  8. 選取 [ 新增許可權] 按鈕。

  9. 在 [設定的許可權] 底下,再次選取 [新增許可權]。

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

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

  12. 選取 [委派的許可權] 選項。

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

  14. 選取 [ 新增許可權] 按鈕。

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

    1. 選取 [授與租用戶名稱>的<管理員同意],然後選取 []。

    2. 選取 [重新整理],然後確認 [為租用戶名稱>授與] <出現在這兩個範圍的 [狀態] 底下

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

如果您想要瞭解如何藉由新增連結來公開許可權,請移至 [Web API ] 區段。

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

註冊新的應用程式之後,您可以從 Microsoft Entra 系統管理中心的概觀中找到應用程式(用戶端)標識碼。

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

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

  3. 在 [基本資訊]下,您會找到所有應用程式詳細數據,包括應用程式 (用戶端) 識別碼。

    顯示應用程式 (用戶端) 識別碼的螢幕快照。

下一步