這很重要
自 2025 年 5 月 1 日起,Azure AD B2C 將不再可供新客戶購買。 在我們的常見問題中深入瞭解。
在 Azure AD B2C 中,您可以定義使用者遵循的商業規則,以取得應用程式的存取權。 例如,您可以決定使用者在登入、註冊、編輯配置檔或重設密碼時所遵循的步驟順序。 完成順序之後,使用者會取得令牌,並取得應用程式的存取權。
在 Azure AD B2C 中,有兩種方式可提供身分識別用戶體驗:
使用者流程 是預先定義的、內建、可設定的原則,因此您可以在幾分鐘內建立註冊、登入和原則編輯體驗。
自定義原則 可讓您為使用者流程不支援的複雜身分識別體驗案例建立自己的使用者旅程圖。 Azure AD B2C 使用自定義原則來提供擴充性。
下列螢幕快照顯示使用者流程設定UI與自訂原則組態檔。
本文提供使用者流程和自定義原則的簡短概觀,並協助您決定哪一種方法最適合您的商務需求。
使用者流程圖
若要設定最常見的身分識別工作,Azure 入口網站包含數個預先定義且可設定的原則,稱為 使用者流程。
您可以設定這類使用者流程設定,以控制應用程式中的身分識別體驗行為:
- 用於登入的帳戶類型,例如 Facebook 之類的社交帳戶,或使用電子郵件地址和密碼登入的本機帳戶
- 要從消費者收集的屬性,例如名字、姓氏、郵遞區號或居住的國家/地區
- 多重因素驗證
- 自定義使用者介面
- 在使用者完成使用者流程之後,應用程式所收到的令牌中的宣告集
- 會話管理
- ...等等
大部分常見的應用程式身分識別案例都可以透過使用者流程有效地定義及實作。 我們建議您使用內建的使用者流程,除非您有需要自定義原則完整彈性的複雜使用者旅程圖案例。
自訂原則
自定義原則是定義 Azure AD B2C 租使用者用戶體驗行為的組態檔。 雖然使用者流程在 Azure AD B2C 入口網站中預先定義了大多數常見的身分識別任務,但身分識別開發人員可以完整編輯自訂原則,以執行許多不同的任務。
自訂原則是完全可配置且基於原則的。 它會協調標準通訊協定中的實體之間的信任,例如 OpenID Connect、OAuth、SAML。 除了一些非標準的宣告交換,例如 REST API 型系統對系統宣告交換。 架構會建立使用者易記且加上白卷標的體驗。
自定義原則可讓您使用任何步驟組合來建構使用者旅程圖。 例如:
- 與其他識別提供者同盟
- 第一方和第三方多重身份驗證挑戰
- 收集任何用戶輸入
- 使用 REST API 通訊與外部系統整合
每個使用者旅程都是由策略所定義。 您可以視需要建置最多或最少的原則,為您的組織啟用最佳的用戶體驗。
自定義原則是由多個 XML 檔案所定義,這些檔案會參考階層式鏈結中的彼此。 XML 元素會定義宣告架構、宣告轉換、內容定義、宣告提供者、技術配置檔、使用者旅程流程步驟,以及身分識別體驗的其他層面。
當您需要建置複雜的身分識別案例時,自定義原則的強大彈性最適合。 設定自定義原則的開發人員必須仔細定義受信任的關聯性,以包含元數據端點、確切的宣告交換定義,以及設定每個識別提供者所需的秘密、密鑰和憑證。
深入瞭解 Azure Active Directory B2C 中的自定義原則。
比較使用者流程和自定義原則
下表詳細比較使用 Azure AD B2C 使用者流程與自定義原則可啟用的情境。
| 上下文 | 使用者流程圖 | 自訂原則 |
|---|---|---|
| 目標使用者 | 具有或沒有身分識別專業知識的所有應用程式開發人員。 | 身分識別專業人員、系統整合者、顧問和內部身分識別小組。 他們熟悉 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 會產生令牌,然後將使用者重新導向回您的應用程式。
行動應用程式,配有箭頭顯示 Azure AD B2C 登入頁面的流程
多個應用程式可以使用相同的使用者流程或自定義原則。 單一應用程式可以使用多個使用者流程或自定義原則。
例如,若要登入應用程式,應用程式會使用 註冊或登入 使用者流程。 使用者登入之後,他們可能會想要編輯其配置檔。 若要編輯配置檔,應用程式會起始另一個授權要求,這次會使用 配置檔編輯 使用者流程。
您的應用程式會使用包含使用者流程或自定義原則名稱的標準 HTTP 驗證要求來觸發使用者流程。 接收到自定義令牌作為回應。
後續步驟
- 若要建立建議的使用者流程,請遵循教學 課程:建立使用者流程中的指示。
- 瞭解 Azure AD B2C 中的使用者流程版本。
- 深入瞭解 Azure AD B2C 自定義原則。