使用者流程和自訂原則概觀
在 Azure AD B2C 中,您可以定義使用者遵循以取得應用程式存取權的商務邏輯。 例如,您可以判斷使用者登入、註冊、編輯設定檔或重設密碼時,所遵循的步驟順序。 完成順序之後,使用者會取得權杖,並取得您應用程式的存取權。
在 Azure AD B2C 中,有兩種方式可以提供身分識別使用者體驗:
使用者流程是預先定義的內建、可設定原則,可讓您在短短幾分鐘內建立註冊、登入和原則編輯體驗。
自訂原則可讓您建立自己的使用者旅程圖,以進行使用者流程未支援的複雜身分識別體驗案例。 Azure AD B2C 使用自訂原則來提供擴充性。
下列螢幕擷取畫面顯示使用者流程設定 UI 和自訂原則設定檔。
本文簡短概述使用者流程和自訂原則,並協助您決定最適合您業務需求的方法。
使用者流程
為了設定最常見的身分識別工作,Azure 入口網站包含數個預先定義且可設定的原則,稱之為「使用者流程」。
您可以設定如下所示的使用者流程設定,以控制應用程式中的身分識別體驗行為:
- 用於登入的帳戶類型,例如 Facebook 之類的社交帳戶,或使用電子郵件地址和密碼進行登入的本機帳戶
- 要向取用者收集的屬性,例如名字、郵遞區號或所在國家/區域
- Microsoft Entra多重要素驗證
- 使用者介面的自訂
- 在使用者完成使用者流程之後,您的應用程式所收到權杖中的一組宣告
- 工作階段管理
- ...等等
應用程式大部分的常見身分識別案例都可以利用使用者流程來有效地定義和實作。 建議您使用內建的使用者流程,除非您有需要完整自訂原則彈性的複雜使用者旅程圖案例。
自訂原則
自訂原則是設定檔,其可定義 Azure AD B2C 租用戶使用者體驗的行為。 儘管已在 Azure AD B2C 入口網站中針對最常用的身分識別工作預先定義了使用者流程,但自訂原則完全可由身分識別開發人員編輯,以完成許多不同的工作。
自訂原則是完全可設定的,而且是由原則驅動的。 其會協調標準通訊協定中實體之間的信任。 例如,OpenID Connect、OAuth、SAML 和一些非標準的通訊協定 (例如 REST API 型系統對系統宣告交換)。 此架構會建立方便使用、白色標籤體驗。
自訂原則可讓您利用任何步驟組合來建立使用者旅程圖。 例如:
- 與其他識別提供者同盟
- 第一方和協力廠商多重要素驗證挑戰
- 收集任何使用者輸入
- 使用 REST API 通訊與外部系統整合
每個使用者旅程圖都是由原則所定義。 您可以視需要建置數量不拘的原則,針對您的組織啟用最佳使用者體驗。
自訂原則是由多個 XML 檔案所定義,各檔案在階層鏈中彼此參考。 XML 元素會定義宣告結構描述、宣告轉換、內容定義、宣告提供者、技術設定檔、使用者旅程圖協調流程步驟,以及身分識別體驗的其他層面。
當您需要建立複雜的身分識別案例時,自訂原則的強大彈性最合適。 設定自訂原則的開發人員必須仔細定義信任關係,以包含中繼資料端點、精確的宣告交換定義,並設定每個識別提供者所需的祕密、金鑰和憑證。
在 Azure Active Directory B2C 中的自訂原則中深入了解自訂原則。
比較使用者流程與自訂原則
下表詳細比較了您可以使用 Azure AD B2C 使用者流程和自訂原則啟用的案例。
Context | 使用者流程 | 自訂原則 |
---|---|---|
目標使用者 | 所有具備或不具備身分識別專業知識的應用程式開發人員。 | 身分識別專業人員、系統整合人員、顧問和內部身分識別小組。 他們熟悉 OpenID Connect 流程,也了解身分識別提供者和宣告型驗證。 |
設定方法 | 有使用者介面 (UI) 方便使用的 Azure 入口網站。 | 直接編輯 XML 檔案,然後上傳至 Azure 入口網站。 |
UI 自訂 |
完整 UI 自訂,包括 HTML、CSS 和 JavaScript。 使用自訂字串支援多語言。 |
與使用者流程相同 |
屬性自訂 | 標準和自訂屬性。 | 與使用者流程相同 |
權杖和工作階段管理 | 自訂權杖和工作階段行為。 | 與使用者流程相同 |
識別提供者 | 預先定義的本機或社交提供者,例如與Microsoft Entra租使用者同盟。 | 標準式 OIDC、OAUTH 和 SAML。 也可以使用與 REST API 的整合進行驗證。 |
身分識別工作 | 使用本機或許多社交帳戶來註冊或登入。 自助式密碼重設。 設定檔編輯。 多重要素驗證。 存取權杖流程。 |
使用自訂識別提供者完成與使用者流程相同的工作,或使用自訂範圍。 註冊時將使用者帳戶佈建在另一個系統中。 使用您自己的電子郵件服務提供者傳送歡迎電子郵件。 使用 Azure AD B2C 外部的使用者存放區。 使用 API 向受信任的系統驗證使用者所提供的資訊。 |
應用程式整合
您可以在租用戶中建立許多不同類型的使用者流程或自訂原則,並視需要在您的應用程式中使用它們。 使用者流程和自訂原則都可以跨應用程式重複使用。 此彈性可讓您在稍微變更或完全不變更程式碼的情況下,定義及修改身分識別體驗。
當使用者想要登入您的應用程式時,應用程式會起始對使用者流程或自訂原則所提供端點的授權要求。 使用者流程或自訂原則會定義和控制使用者的體驗。 當他們完成使用者流程時,Azure AD B2C 會產生權杖,然後將使用者重新導向回您的應用程式。
多個應用程式可使用相同的使用者流程或自訂原則。 單一應用程式可使用多個使用者流程或自訂原則。
例如,若要登入應用程式,應用程式會使用「註冊或登入」使用者流程。 在使用者登入之後,他們可能會想要編輯其設定檔。 若要編輯設定檔,應用程式會起始另一個授權要求,這次使用「設定檔編輯」使用者流程。
您的應用程式會使用標準 HTTP 驗證要求來觸發使用者流程,而此要求包含使用者流程或自訂原則名稱。 自訂的權杖當以回應形式收到。
後續步驟
- 若要建立建議的使用者流程,請遵循教學課程:建立使用者流程中的指示。
- 了解 Azure AD B2C 中的使用者流程版本。
- 深入了解 Azure AD B2C 自訂原則。