將 Web API 應用程式新增至您的 Azure Active Directory B2C 租用戶
本文說明如何在 Azure Active Directory B2C (Azure AD B2C) 租使用者中註冊 Web API 資源,讓它們能夠接受並回應用戶端應用程式提出存取令牌的要求。
若要在 Azure AD B2C 租用戶中註冊應用程式,您可以使用 Azure 入口網站 的新整合 應用程式註冊 體驗或舊版應用程式(舊版)體驗。 深入了解新體驗。
- 登入 Azure 入口網站。
- 如果您有多個租使用者的存取權,請選取頂端功能表中的 [設定] 圖示,從 [目錄 + 訂用帳戶] 功能表切換至您的 Azure AD B2C 租使用者。
- 在左側功能表中,選取 [Azure AD B2C]。 或者,選取 [所有服務 ],然後搜尋並選取 [Azure AD B2C]。
- 選取 [應用程式註冊],然後選取 [新增註冊]。
- 輸入 應用程式的 [名稱 ]。 例如, webapi1。
- 在 [重新導向 URI] 底下,選取 [Web],然後輸入 Azure AD B2C 應該傳回應用程式要求的任何令牌的端點。 在生產應用程式中,您可以設定端點的重新導向 URI,例如
https://localhost:5000
。 在開發或測試期間,您可以將它設定為https://jwt.ms
,這是一個 Microsoft 擁有的 Web 應用程式,其會顯示令牌的已譯碼內容(令牌的內容永遠不會離開瀏覽器)。 您可以隨時在已註冊的應用程式中新增和修改重新導向 URI。 - 選取註冊。
- 記錄應用程式 (用戶端) 識別碼,以在 Web API 的程式代碼中使用。
設定範圍
範圍提供管理受保護資源存取權的方式。 Web API 會使用範圍來實作範圍型訪問控制。 例如,Web API 的使用者可以同時具有讀取和寫入許可權,或者 Web API 的使用者可能只有讀取許可權。 在本教學課程中,您會使用範圍來定義 Web API 的讀取和寫入許可權。
- 選取 應用程式註冊。
- 選取 webapi1 應用程式以開啟其 [概觀] 頁面。
- 在 [管理] 底下,選取 [公開 API]。
- 在 [應用程式識別碼 URI] 旁,選取 [ 新增 ] 連結。
- 將預設值 (GUID) 取代為
api
,然後選取 [ 儲存]。 顯示完整的 URI,且格式https://your-tenant-name.onmicrosoft.com/api
應為 。 當您的 Web 應用程式要求 API 的存取權杖時,它應該新增此 URI 作為您為 API 定義之每個範圍的前置詞。 - 在此 API 定義的 [範圍] 下,選取 [新增範圍]。
- 輸入下列值來建立定義 API 讀取許可權的範圍,然後選取 [ 新增範圍]:
- 範圍名稱:
demo.read
- 管理員 同意顯示名稱:
Read access to demo API
- 管理員 同意描述:
Allows read access to the demo API
- 範圍名稱:
- 選取 [新增範圍],輸入下列值以新增定義 API 寫入許可權的範圍,然後選取 [ 新增範圍]:
- 範圍名稱:
demo.write
- 管理員 同意顯示名稱:
Write access to demo API
- 管理員 同意描述:
Allows write access to the demo API
- 範圍名稱:
授與權限
若要從應用程式呼叫受保護的 Web API,您必須將應用程式許可權授與 API。 例如,在 教學課程:在 Azure Active Directory B2C 中註冊應用程式,會在 Azure AD B2C 中註冊名為 webapp1 的 Web 應用程式。 您可以使用此應用程式來呼叫 Web API。
- 選取 [應用程式註冊],然後選取應該具有 API 存取權的 Web 應用程式。 例如, webapp1。
- 在 [管理] 底下,選取 [API 許可權]。
- 在 [設定的許可權] 底下,選取 [新增許可權]。
- 選取 [ 我的 API] 索引標籤 。
- 選取 Web 應用程式應授與存取權的 API。 例如, webapi1。
- 在 [許可權] 底下展開示範,然後選取您稍早定義的範圍。 例如, demo.read 和 demo.write。
- 選取新增權限。
- 選取 [授與管理員同意] (您的租用戶名稱)。
- 如果系統提示您選取帳戶,請選取您目前登入的系統管理員帳戶,或使用至少已指派 雲端應用程式系統管理員 角色的 Azure AD B2C 租使用者中的帳戶登入。
- 選取 [是] 。
- 選取 [重新整理],然後確認 [已為 ... 授與]會出現在兩個範圍的 [狀態] 底下。
您的應用程式已註冊以呼叫受保護的 Web API。 使用者向 Azure AD B2C 驗證以使用應用程式。 應用程式會從 Azure AD B2C 取得授權授與,以存取受保護的 Web API。