Microsoft Entra 外部 ID 讓您的組織能夠管理客戶的身分識別,並安全地控制存取對外公開的應用程式和 API。 您的客戶可以購買產品、訂閱服務,或存取其帳戶與資料的應用程式。 您的客戶只需在裝置或網頁瀏覽器上登入一次,就有權存取您為其授與權限的所有應用程式。
若要讓應用程式使用外部識別碼登入,您必須使用外部識別碼來註冊應用程式。 應用程式註冊會在應用程式與外部識別碼之間建立信任關係。
在應用程式註冊期間,您會指定重新導向 URI。 重新導向 URI 是在使用者進行驗證之後,透過外部識別碼來將其重新導向到其中的端點。 應用程式註冊流程會產生可唯一識別您應用程式的應用程式識別碼 (也稱為用戶端識別碼)。
外部識別碼支援適用於各種現代化應用程式架構的驗證,例如 Web 應用程式或單頁應用程式。 每個應用程式類型與外部租用戶的互動都不同,因此,您必須指定要註冊的應用程式類型。
在本文中,您將瞭解如何在外部租用戶中註冊 OpenID Connect (OIDC) 應用程式。 您也可以將 SAML 應用程式新增到您的企業應用程式中,以便在外部租戶中註冊 SAML 應用程式(深入瞭解)。
註冊您的單頁應用程式
外部識別碼支援單頁應用程式 (SPA) 的驗證。
下列步驟示範如何在 Microsoft Entra 系統管理中心註冊您的 SPA:
至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示
,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
選取 + 新增註冊。
在出現的 [註冊應用程式] 頁面 中,輸入應用程式的註冊資訊:
在 [名稱] 區段中,輸入要向應用程式使用者顯示的有意義應用程式名稱,例如 ciam-client-app。
在 [支援的帳戶類型] 底下,選取 [僅在此組織目錄中的帳戶]。
在 [重新導向 URI (選用)] 底下,選取 [單頁應用程式 (SPA)],然後在 [URL] 方塊中,輸入 http://localhost:3000/
。
選取註冊。
註冊完成時,將會顯示應用程式的 [概觀] 窗格。 記錄目錄 (租用戶) 識別碼和應用程式 (用戶端) 識別碼,以用於您的應用程式原始程式碼。
關於重新導向 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-response
和 https://contoso.com/auth-response/
可能會在應用程式中被視為不相符的 URL。
授與管理員同意
註冊應用程式之後,就會獲 指派User.Read 許可權。 不過,由於租使用者是外部租使用者,因此客戶使用者本身無法同意此許可權。 身為管理員的您必須代表租用戶中的所有使用者同意此權限:
從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。
在 [管理] 之下選取 [API 權限]。
- 選取 [代表 <您的租用戶名稱> 授與管理員同意],然後選取 [是]。
- 選取 [重新整理],然後確認 [為租用戶名稱<授與] >出現在許可權的 [狀態] 底下。
授與 API 權限 (選用):
如果您的 SPA 需要呼叫 API,就必須為 SPA 授與 API 權限,才能呼叫 API。 您也必須註冊需要呼叫的 Web API。
若要為您的用戶端應用程式 (ciam-client-app) 授與 API 權限,請遵循下列步驟:
從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。
在 [管理] 之下選取 [API 權限]。
在 [已設定的權限] 底下,選取 [新增權限]。
選取 [我的組織使用的 API] 索引標籤。
在 API 清單中,選取 API,例如 ciam-ToDoList-api。
選取 [委派的權限] 選項。
從權限清單,選取 [ToDoList.Read]、[ToDoList.ReadWrite] (如有必要,請使用搜尋方塊)。
選取 [新增權限] 按鈕。 此時,您已正確獲指派權限。 不過,由於租用戶是客戶的租用戶,因此取用者使用者本身無法同意這些權限。 若要解決此問題,身為系統管理員的您必須代表租用戶中的所有使用者同意這些權限:
選取 [代表 <您的租用戶名稱> 授與管理員同意],然後選取 [是]。
選取 [重新整理],然後驗證 [已授與 <您的租用戶名稱>] 是否出現在這兩個範圍的 [狀態] 下方。
從 [已設定權限] 清單中,選取 [ToDoList.Read] 和 [ToDoList.ReadWrite] 權限 (一次一個),然後複製權限的完整 URI 以供稍後使用。 完整權限 URI 看起來與 api://{clientId}/{ToDoList.Read}
或 api://{clientId}/{ToDoList.ReadWrite}
類似。
若您想要了解如何透過新增連結來公開權限,請移至 Web API 一節。
測試使用者流程(選擇性)
若要使用此應用程式註冊來測試 使用者流程 ,請啟用隱含授與流程以進行驗證。
重要
隱含流程應該僅用於測試目的,而不是用於驗證生產應用程式中的使用者。 完成測試之後,建議您將其移除。
若要啟用隱含流程,請遵循下列步驟:
- 至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
- 如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示
,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
- 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
- 選取您建立的應用程式註冊。
- 在 [管理] 底下,選取 [驗證]。
- 在 [Implicit grant and hybrid flows] \(隱含授與和混合式流程\) 下,選取 [ID tokens (used for implicit and hybrid flows)] \(識別碼權杖 (用於隱含和混合式流程)\) 核取方塊。
- 選取儲存。
註冊您的 Web 應用程式
外部識別碼支援 Web 應用程式的驗證。
下列步驟示範如何在 Microsoft Entra 系統管理中心註冊您的 Web 應用程式:
至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示
,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
選取 + 新增註冊。
在出現的 [註冊應用程式] 頁面 中,輸入應用程式的註冊資訊:
在 [名稱] 區段中,輸入要向應用程式使用者顯示的有意義應用程式名稱,例如 ciam-client-app。
在 [支援的帳戶類型] 底下,選取 [僅在此組織目錄中的帳戶]。
在 [重新導向 URI (選用)] 底下,選取 [Web],然後在 [URL] 方塊中輸入 URL,例如 http://localhost:3000/
。
選取註冊。
註冊完成時,將會顯示應用程式的 [概觀] 窗格。 記錄目錄 (租用戶) 識別碼和應用程式 (用戶端) 識別碼,以用於您的應用程式原始程式碼。
關於重新導向 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-response
和 https://contoso.com/auth-response/
可能會在應用程式中被視為不相符的 URL。
授與管理員同意
註冊應用程式之後,就會獲 指派User.Read 許可權。 不過,由於租使用者是外部租使用者,因此客戶使用者本身無法同意此許可權。 身為管理員的您必須代表租用戶中的所有使用者同意此權限:
從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。
在 [管理] 之下選取 [API 權限]。
- 選取 [代表 <您的租用戶名稱> 授與管理員同意],然後選取 [是]。
- 選取 [重新整理],然後確認 [為租用戶名稱<授與] >出現在許可權的 [狀態] 底下。
建立用戶端密碼
為已註冊的應用程式建立用戶端密碼。 在要求權杖時,應用程式會使用用戶端密碼來證明其身分識別。
- 從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。
- 在 [管理] 下,選取 [憑證和密碼]。
- 選取 [新用戶端密碼]。
- 在 [描述] 方塊中,輸入用戶端密碼的描述 (例如「ciam 應用程式用戶端密碼」)。
- 在 [到期] 下方,選取祕密有效的持續時間 (根據組織的安全性規則),然後選取 [新增]。
- 記錄祕密的 [值]。 您將會在稍後的步驟中使用此值進行設定。 在您離開 [憑證和祕密] 之後,祕密值將不會再次顯示,而且無法透過任何方式擷取。 請確保將其妥善記錄。
授與 API 權限 (選用)
如果您的 Web 應用程式需要呼叫 API,就必須為 Web 應用程式授與 API 權限,才能呼叫 API。 您也必須註冊需要呼叫的 Web API。
若要為您的用戶端應用程式 (ciam-client-app) 授與 API 權限,請遵循下列步驟:
從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。
在 [管理] 之下選取 [API 權限]。
在 [已設定的權限] 底下,選取 [新增權限]。
選取 [我的組織使用的 API] 索引標籤。
在 API 清單中,選取 API,例如 ciam-ToDoList-api。
選取 [委派的權限] 選項。
從權限清單,選取 [ToDoList.Read]、[ToDoList.ReadWrite] (如有必要,請使用搜尋方塊)。
選取 [新增權限] 按鈕。 此時,您已正確獲指派權限。 不過,由於租用戶是客戶的租用戶,因此取用者使用者本身無法同意這些權限。 若要解決此問題,身為系統管理員的您必須代表租用戶中的所有使用者同意這些權限:
選取 [代表 <您的租用戶名稱> 授與管理員同意],然後選取 [是]。
選取 [重新整理],然後驗證 [已授與 <您的租用戶名稱>] 是否出現在這兩個範圍的 [狀態] 下方。
從 [已設定權限] 清單中,選取 [ToDoList.Read] 和 [ToDoList.ReadWrite] 權限 (一次一個),然後複製權限的完整 URI 以供稍後使用。 完整權限 URI 看起來與 api://{clientId}/{ToDoList.Read}
或 api://{clientId}/{ToDoList.ReadWrite}
類似。
測試使用者流程(選擇性)
若要使用此應用程式註冊來測試 使用者流程 ,請啟用隱含授與流程以進行驗證。
重要
隱含流程應該僅用於測試目的,而不是用於驗證生產應用程式中的使用者。 完成測試之後,建議您將其移除。
若要啟用隱含流程,請遵循下列步驟:
- 至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
- 如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示
,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
- 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
- 選取您建立的應用程式註冊。
- 在 [管理] 底下,選取 [驗證]。
- 在 [Implicit grant and hybrid flows] \(隱含授與和混合式流程\) 下,選取 [ID tokens (used for implicit and hybrid flows)] \(識別碼權杖 (用於隱含和混合式流程)\) 核取方塊。
- 選取儲存。
註冊您的 Web API
至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示
,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
選取 + 新增註冊。
在出現的 [註冊應用程式] 頁面 中,輸入應用程式的註冊資訊:
在 [名稱] 區段中,輸入將向應用程式使用者顯示的有意義應用程式名稱,例如 ciam-ToDoList-api。
在 [支援的帳戶類型] 底下,選取 [僅在此組織目錄中的帳戶]。
選取 [暫存器] 以建立應用程式。
註冊完成時,將會顯示應用程式的 [概觀] 窗格。 記錄目錄 (租用戶) 識別碼和應用程式 (用戶端) 識別碼,以用於您的應用程式原始程式碼。
公開權限
API 必須至少發佈一個範圍 (也稱為委派的權限),用戶端應用程式才能成功取得使用者的存取權杖。 若要發佈範圍,請遵循下列步驟:
從 [應用程式註冊] 頁面,選取您建立的 API 應用程式 (ciam-ToDoList-api),以開啟其 [概觀] 頁面。
在 [管理] 底下,選取 [公開 API]。
在頁面頂端的 [應用程式識別碼 URI] 旁邊,選取 [新增] 連結,以針對此應用程式產生唯一的 URI。
接受建議的應用程式識別碼 URI (例如 api://{clientId}
),然後選取 [儲存]。 當您的 Web 應用程式要求 Web API 的存取權杖時,即會新增此 URI 作為您針對 API 所定義之每個範圍的前置詞。
在 [由此 API 定義的範圍] 底下,選取 [新增範圍]。
輸入下列值來定義對 API 的讀取權限,然後選取 [新增範圍] 以儲存您的變更:
屬性 |
數值 |
範圍名稱 |
ToDoList.Read |
有權同意者 |
僅限管理員 |
管理員同意顯示名稱 |
使用 'TodoListApi' 讀取使用者的待辦事項清單 |
管理員同意描述 |
允許應用程式使用 'TodoListApi' 讀取使用者的待辦事項清單。 |
州/省 |
已啟用 |
再次選取 [新增範圍],然後輸入下列值來定義對 API 的讀取和寫入權限範圍。 選取 [新增範圍] 以儲存您的變更:
屬性 |
數值 |
範圍名稱 |
ToDoList.ReadWrite |
有權同意者 |
僅限管理員 |
管理員同意顯示名稱 |
使用 'TodoListApi' 讀取和寫入使用者的待辦事項清單 |
管理員同意描述 |
允許應用程式使用 'TodoListApi' 讀取和寫入使用者的待辦事項清單 |
州/省 |
已啟用 |
在 [管理] 底下,選取 [資訊清單] 以開啟 API 資訊清單編輯器。
將 accessTokenAcceptedVersion
屬性設定為 2
。
選取儲存。
深入了解針對 Web API 發佈權限時的最低權限準則。
新增應用程式角色
API 必須針對應用程式至少發佈一個應用程式角色 (也稱為應用程式權限),用戶端應用程式才能以自身身分取得存取權杖。 應用程式權限是 API 應該在想要讓用戶端應用程式能夠以自身身分成功驗證,且不需登入使用者時發佈的權限類型。 若要發佈應用程式權限,請遵循下列步驟:
從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-ToDoList-api),以開啟其 [概觀] 頁面。
在 [管理] 下方,選取 [應用程式角色]。
選取 [建立應用程式角色],並輸入下列值,然後選取 [套用] 以儲存您的變更:
屬性 |
數值 |
Display name |
ToDoList.Read.All |
允許的成員類型 |
應用程式 |
數值 |
ToDoList.Read.All |
描述 |
允許應用程式使用 'TodoListApi' 讀取每位使用者的待辦事項清單 |
再次選取 [建立應用程式角色],並為第二個應用程式角色輸入下列值,然後選取 [套用] 以儲存您的變更:
屬性 |
數值 |
Display name |
ToDoList.ReadWrite.All |
允許的成員類型 |
應用程式 |
數值 |
ToDoList.ReadWrite.All |
描述 |
允許應用程式使用 'TodoListApi' 讀取和寫入每位使用者的待辦事項清單 |
註冊您的傳統型或行動應用程式
下列步驟示範如何在 Microsoft Entra 系統管理中心註冊您的應用程式:
至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示
,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
選取 + 新增註冊。
在出現的 [註冊應用程式] 頁面 中,輸入應用程式的註冊資訊:
在 [名稱] 區段中,輸入要向應用程式使用者顯示的有意義應用程式名稱,例如 ciam-client-app。
在 [支援的帳戶類型] 底下,選取 [僅在此組織目錄中的帳戶]。
在 [重新導向 URI (選用)] 底下,選取 [行動應用程式與傳統型應用程式] 選項,然後在 [URL] 方塊中,輸入具有唯一配置的 URI。 例如,Electron 傳統型應用程式的重新導向 URI 看起來類似 http://localhost
,而 .NET Multi-platform App UI (MAUI) 的重新導向 URI 看起來類似 msal{ClientId}://auth
。
選取註冊。
註冊完成時,將會顯示應用程式的 [概觀] 窗格。 記錄目錄 (租用戶) 識別碼和應用程式 (用戶端) 識別碼,以用於您的應用程式原始程式碼。
授與管理員同意
註冊應用程式之後,就會獲 指派User.Read 許可權。 不過,由於租使用者是外部租使用者,因此客戶使用者本身無法同意此許可權。 身為管理員的您必須代表租用戶中的所有使用者同意此權限:
從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。
在 [管理] 之下選取 [API 權限]。
- 選取 [代表 <您的租用戶名稱> 授與管理員同意],然後選取 [是]。
- 選取 [重新整理],然後確認 [為租用戶名稱<授與] >出現在許可權的 [狀態] 底下。
授與 API 權限 (選用)
如果您的行動應用程式需要呼叫 API,就必須為行動應用程式授與 API 權限,才能呼叫 API。 您也必須註冊需要呼叫的 Web API。
若要為您的用戶端應用程式 (ciam-client-app) 授與 API 權限,請遵循下列步驟:
從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。
在 [管理] 之下選取 [API 權限]。
在 [已設定的權限] 底下,選取 [新增權限]。
選取 [我的組織使用的 API] 索引標籤。
在 API 清單中,選取 API,例如 ciam-ToDoList-api。
選取 [委派的權限] 選項。
從權限清單,選取 [ToDoList.Read]、[ToDoList.ReadWrite] (如有必要,請使用搜尋方塊)。
選取 [新增權限] 按鈕。 此時,您已正確獲指派權限。 不過,由於租用戶是客戶的租用戶,因此取用者使用者本身無法同意這些權限。 若要解決此問題,身為系統管理員的您必須代表租用戶中的所有使用者同意這些權限:
選取 [代表 <您的租用戶名稱> 授與管理員同意],然後選取 [是]。
選取 [重新整理],然後驗證 [已授與 <您的租用戶名稱>] 是否出現在這兩個範圍的 [狀態] 下方。
從 [已設定權限] 清單中,選取 [ToDoList.Read] 和 [ToDoList.ReadWrite] 權限 (一次一個),然後複製權限的完整 URI 以供稍後使用。 完整權限 URI 看起來與 api://{clientId}/{ToDoList.Read}
或 api://{clientId}/{ToDoList.ReadWrite}
類似。
測試使用者流程(選擇性)
若要使用此應用程式註冊來測試 使用者流程 ,請啟用隱含授與流程以進行驗證。
重要
隱含流程應該僅用於測試目的,而不是用於驗證生產應用程式中的使用者。 完成測試之後,建議您將其移除。
若要啟用隱含流程,請遵循下列步驟:
- 至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
- 如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示
,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
- 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
- 選取您建立的應用程式註冊。
- 在 [管理] 底下,選取 [驗證]。
- 在 [Implicit grant and hybrid flows] \(隱含授與和混合式流程\) 下,選取 [ID tokens (used for implicit and hybrid flows)] \(識別碼權杖 (用於隱含和混合式流程)\) 核取方塊。
- 選取儲存。
註冊您的精靈應用程式
下列步驟示範如何在 Microsoft Entra 系統管理中心註冊您的精靈應用程式:
至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示
,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
選取 + 新增註冊。
在出現的 [註冊應用程式] 頁面 中,輸入應用程式的註冊資訊:
在 [名稱] 區段中,輸入將向應用程式使用者顯示的有意義應用程式名稱,例如 ciam-client-app。
在 [支援的帳戶類型] 底下,選取 [僅在此組織目錄中的帳戶]。
選取註冊。
註冊完成時,將會顯示應用程式的 [概觀] 窗格。 記錄目錄 (租用戶) 識別碼和應用程式 (用戶端) 識別碼,以用於您的應用程式原始程式碼。
授與 API 權限
精靈應用程式會使用 OAuth 2.0 用戶端認證流程,以自身身分登入。 您可以授與應用程式權限 (應用程式角色),這是以自身身分驗證之應用程式所需的權限。 您也必須註冊您精靈應用程式需要呼叫的 Web API。
從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app)。
在 [管理] 之下選取 [API 權限]。
在 [已設定的權限] 底下,選取 [新增權限]。
選取 [我的組織使用的 API] 索引標籤。
在 API 清單中,選取 API,例如 ciam-ToDoList-api。
選取 [應用程式權限] 選項。 我們選取此選項是因為應用程式會以自身身分 (而不是使用者) 登入。
從權限清單中,選取 [TodoList.Read.All]、[ToDoList.ReadWrite.All] (如有必要,請使用搜尋方塊)。
選取 [新增權限] 按鈕。
此時,您已正確獲指派權限。 不過,因為精靈應用程式不允許使用者與其互動,所以使用者本身無法同意這些權限。 若要解決此問題,身為系統管理員的您必須代表租用戶中的所有使用者同意這些權限:
- 選取 [代表 <您的租用戶名稱> 授與管理員同意],然後選取 [是]。
- 選取 [重新整理],然後驗證 [已授與 <您的租用戶名稱>] 是否出現在這兩個權限的 [狀態] 下方。
測試使用者流程(選擇性)
若要使用此應用程式註冊來測試 使用者流程 ,請啟用隱含授與流程以進行驗證。
重要
隱含流程應該僅用於測試目的,而不是用於驗證生產應用程式中的使用者。 完成測試之後,建議您將其移除。
若要啟用隱含流程,請遵循下列步驟:
- 至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
- 如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示
,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
- 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
- 選取您建立的應用程式註冊。
- 在 [管理] 底下,選取 [驗證]。
- 在 [Implicit grant and hybrid flows] \(隱含授與和混合式流程\) 下,選取 [ID tokens (used for implicit and hybrid flows)] \(識別碼權杖 (用於隱含和混合式流程)\) 核取方塊。
- 選取儲存。
註冊 Microsoft Graph API 應用程式
若要讓應用程式能夠使用 Microsoft Entra 登入使用者,Microsoft Entra 外部 ID 必須能辨識您建立的應用程式。 應用程式註冊會在應用程式與 Microsoft Entra 之間建立信任關係。 註冊應用程式時,外部 ID 會產生稱為「應用程式 (用戶端) 識別碼」的唯一識別碼,這個值可在建立驗證要求時用來識別您的應用程式。
下列步驟示範如何在 Microsoft Entra 系統管理中心註冊您的應用程式:
至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示
,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
選取 + 新增註冊。
在出現的 [註冊應用程式] 頁面中;
- 輸入要向應用程式使用者顯示的有意義應用程式「名稱」,例如 ciam-client-app。
- 在 [支援的帳戶類型] 底下,選取 [僅在此組織目錄中的帳戶]。
選取註冊。
應用程式的 [概觀] 窗格會在成功註冊時顯示。 記錄應用程式 (用戶端) 識別碼,以用於您的應用程式原始程式碼。
將 API 存取權授與應用程式
若要讓應用程式存取 Microsoft Graph API 中的資料,請將相關的應用程式權限授與已註冊的應用程式。 應用程式的有效權限是權限所隱含的完整層級權限。 例如,若要建立、讀取、更新及刪除您外部租用戶中的每位使用者,請新增 User.ReadWrite.All 權限。
在 [管理] 之下選取 [API 權限]。
在 [已設定的權限] 底下,選取 [新增權限]。
選取 [Microsoft API] 索引標籤,然後選取 [Microsoft Graph]。
選取應用程式權限。
展開適當的權限群組,然後選取要授與管理應用程式權限的核取方塊。 例如:
使用者>User.ReadWrite.All:適用於使用者移轉或使用者管理案例。
群組>Group.ReadWrite.All:用於建立群組、讀取和更新群組成員資格,以及刪除群組。
稽核記錄>AuditLog.Read.All:讀取目錄的稽核記錄。
政策>Policy.ReadWrite.TrustFramework:適用於持續整合/持續傳遞 (CI/CD) 案例。 例如,使用 Azure Pipelines 的自訂原則部署。
選取新增權限。 依照指示,稍等幾分鐘,然後再繼續進行下一個步驟。
選取 [授與管理員同意 (您的租用戶名稱)]。
如果您目前尚未登入,請使用至少已獲指派雲端應用程式管理員角色之外部租用戶中的帳戶登入,然後選取 [代表 (您的租用戶名稱) 授與管理員同意]。
選取 [重新整理],然後驗證 [授與...] 會出現在這兩個範圍的 [狀態] 下方。 權限可能需要幾分鐘的時間來傳播。
註冊您的應用程式之後,您必須將用戶端密碼新增至應用程式。 此用戶端密碼將用來驗證您的應用程式,以呼叫 Microsoft Graph API。
建立用戶端密碼
為已註冊的應用程式建立用戶端密碼。 在要求權杖時,應用程式會使用用戶端密碼來證明其身分識別。
- 從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。
- 在 [管理] 下,選取 [憑證和密碼]。
- 選取 [新用戶端密碼]。
- 在 [描述] 方塊中,輸入用戶端密碼的描述 (例如「ciam 應用程式用戶端密碼」)。
- 在 [到期] 下方,選取祕密有效的持續時間 (根據組織的安全性規則),然後選取 [新增]。
- 記錄祕密的 [值]。 您將會在稍後的步驟中使用此值進行設定。 在您離開 [憑證和祕密] 之後,祕密值將不會再次顯示,而且無法透過任何方式擷取。 請確保將其妥善記錄。
測試使用者流程(選擇性)
若要使用此應用程式註冊來測試 使用者流程 ,請啟用隱含授與流程以進行驗證。
重要
隱含流程應該僅用於測試目的,而不是用於驗證生產應用程式中的使用者。 完成測試之後,建議您將其移除。
若要啟用隱含流程,請遵循下列步驟:
- 至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
- 如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示
,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
- 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
- 選取您建立的應用程式註冊。
- 在 [管理] 底下,選取 [驗證]。
- 在 [Implicit grant and hybrid flows] \(隱含授與和混合式流程\) 下,選取 [ID tokens (used for implicit and hybrid flows)] \(識別碼權杖 (用於隱含和混合式流程)\) 核取方塊。
- 選取儲存。
註冊原生驗證應用程式
若要讓應用程式能夠使用 Microsoft Entra 登入使用者,Microsoft Entra 外部 ID 必須能辨識您建立的應用程式。 應用程式註冊會在應用程式與 Microsoft Entra 之間建立信任關係。 註冊應用程式時,外部 ID 會產生稱為「應用程式 (用戶端) 識別碼」的唯一識別碼,這個值可在建立驗證要求時用來識別您的應用程式。
下列步驟示範如何在 Microsoft Entra 系統管理中心註冊您的應用程式:
至少以應用程式開發人員的身分登入 Microsoft Entra 系統管理中心。
如果您有權存取多個租用戶,請使用頂端功能表中的 [設定] 圖示
,以從 [目錄 + 訂用帳戶] 功能表切換至您的外部租用戶。
瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
選取 + 新增註冊。
在出現的 [註冊應用程式] 頁面中;
- 輸入要向應用程式使用者顯示的有意義應用程式「名稱」,例如 ciam-client-app。
- 在 [支援的帳戶類型] 底下,選取 [僅在此組織目錄中的帳戶]。
選取註冊。
應用程式的 [概觀] 窗格會在成功註冊時顯示。 記錄應用程式 (用戶端) 識別碼,以用於您的應用程式原始程式碼。
授與管理員同意
註冊應用程式之後,就會獲 指派User.Read 許可權。 不過,由於租使用者是外部租使用者,因此客戶使用者本身無法同意此許可權。 身為管理員的您必須代表租用戶中的所有使用者同意此權限:
從 [應用程式註冊] 頁面中,選取您建立的應用程式 (例如 ciam-client-app),以開啟其 [概觀] 頁面。
在 [管理] 之下選取 [API 權限]。
- 選取 [代表 <您的租用戶名稱> 授與管理員同意],然後選取 [是]。
- 選取 [重新整理],然後確認 [為租用戶名稱<授與] >出現在許可權的 [狀態] 底下。
啟用公用用戶端和原生驗證流程
若要指定此應用程式是公用用戶端且可使用原生驗證,請啟用公用用戶端和原生驗證流程:
- 從 [應用程式註冊] 頁面中,選取您要啟用公用用戶端和原生驗證流程的應用程式註冊。
- 在 [管理] 底下,選取 [驗證]。
- 在 [進階設定] 底下,允許公用用戶端流程:
- 針對 [啟用下列行動裝置與桌面流程],選取 [是]。
- 針對 [啟用原生驗證],選取 [是]。
- 選取 [儲存] 按鈕。