教學課程:在 Azure Active Directory B2C 中註冊 Web 應用程式
應用程式必須先在您管理的租用戶中完成註冊,才可以與 Azure Active Directory B2C (Azure AD B2C) 互動。 本教學課程示範如何使用 Azure 入口網站註冊 Web 應用程式。
「Web 應用程式」是指在伺服器上執行大部分應用程式邏輯的傳統 Web 應用程式。 它們可以使用 ASP.NET Core、Spring (JAVA) 、Flask (Python) 和 Express (Node.js) 等架構來建置。
重要
如果您改為使用單頁應用程式 (SPA) (例如使用 Angular、Vue 或 React),請了解如何註冊單頁應用程式。
如果您改為使用原生應用程式 (例如 iOS、Android、行動裝置和桌上型電腦),則請了解如何註冊原生用戶端應用程式。
必要條件
如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
如果您尚未建立自己的 Azure AD B2C 租用戶,請立即建立一個。 您可以使用現有的 Azure AD B2C 租用戶。
註冊 Web 應用程式
若要在您的 Azure AD B2C 租用戶中註冊 Web 應用程式,您可以使用新的整合「應用程式註冊」體驗,或使用舊版「應用程式 (舊版)」體驗。 深入了解新的體驗。
登入 Azure 入口網站。
確定您使用的目錄包含您的 Azure AD B2C 租用戶。 選取入口網站工具列中的目錄 + 訂閱圖示。
在 [入口網站設定] | [目錄 + 訂用帳戶] 頁面上,在 [目錄名稱] 清單中尋找您的 Azure AD B2C 目錄,然後選取 [切換]。
在 Azure 入口網站中,搜尋並選取 [Azure AD B2C]。
選取 [應用程式註冊],然後選取 [新增註冊]。
輸入應用程式的 [名稱]。 例如,webapp1。
在 [支援的帳戶類型] 中,選取 [任何識別提供者或組織目錄中的帳戶 (適用於以使用者流程驗證使用者)]。
在 [重新導向 URI] 底下,選取 [Web],然後在 URL 文字方塊中輸入
https://jwt.ms
。重新導向 URI 是由授權伺服器 (在此案例中為 Azure AD B2C) 在完成與使用者的互動之後傳送給使用者的端點,以及在成功授權時傳送存取權杖或授權碼的端點。 在實際執行應用程式中,其通常是您應用程式執行所在之可公開存取的端點,例如
https://contoso.com/auth-response
。 基於類似此教學課程的測試目的,您可以將其設定為https://jwt.ms
,這是 Microsoft 擁有的 Web 應用程式,會顯示已解碼的權杖內容 (權杖內容永遠不會離開您的瀏覽器)。 在應用程式開發期間,您可以新增應用程式在本機接聽的端點,例如https://localhost:5000
。 您可以隨時在已註冊的應用程式中新增及修改重新導向 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。
- 除非您使用 localhost 重新導向 URL,否則回覆 URL 的開頭必須是配置
在 [權限] 下,選取 [對 openid 與 offline_access 權限授與管理員同意] 核取方塊。
選取 [註冊]。
提示
如果您在「應用程式註冊」下看不到您建立的應用程式,則請重新整理入口網站。
建立用戶端密碼
針對 Web 應用程式,您必須建立應用程式秘密。 用戶端祕密也稱為「應用程式密碼」。 您的應用程式將使用此祕密來交換存取權杖的授權碼。
- 在 [Azure AD B2C - 應用程式註冊] 頁面中,選取您建立的應用程式,例如 webapp1。
- 在左側功能表的 [管理] 下,選取 [憑證和密碼]。
- 選取 [新增用戶端密碼]。
- 在 [描述] 方塊中,輸入用戶端密碼的描述。 例如,clientsecret1。
- 在 [到期] 下,選取密碼有效的持續時間,然後選取 [新增]。
- 記錄密碼的值,以便在用戶端應用程式的程式碼中使用。 離開此頁面後,就不會再次顯示此密碼值。 您可以使用此值,作為應用程式程式碼中的應用程式密碼。
注意
基於安全性考量,您可以定期變換應用程式祕密,或在發生緊急狀況時立即變換。 任何與 Azure AD B2C 整合的應用程式都應該準備好處理祕密變換事件,不論其可能發生頻率為何。 您可以設定兩個應用程式祕密,讓您的應用程式在應用程式祕密輪替事件期間持續使用舊祕密。 若要新增另一個用戶端祕密,請重複本節中的步驟。
啟用識別碼權杖隱含授與
如果您註冊此應用程式,並已設定 https://jwt.ms/ 應用程式來測試使用者流程或自訂原則,則需要在應用程式註冊中啟用隱含授與流程:
在左側功能表的 [管理]下,選取 [驗證]。
在 [隱含授與及混合式流程] 下,選取 [存取權杖 (用於隱含流程)] 和 [ID 權杖 (用於隱含及混合式流程)] 核取方塊。
選取 [儲存]。
後續步驟
在本文中,您已了解如何:
- 註冊 Web 應用程式
- 建立用戶端密碼
接下來,將了解如何建立使用者流程,讓您的使用者能夠註冊、登入及管理其設定檔。