用户流和自定义策略概述

重要

自 2025 年 5 月 1 日起,Azure AD B2C 将不再可供新客户购买。 在我们的常见问题解答中了解详细信息

在 Azure AD B2C 中,可以定义用户遵循的业务逻辑来获取对应用程序的访问权限。 例如,可以确定用户在登录、注册、编辑配置文件或重置密码时所遵循的步骤序列。 完成序列后,用户获取令牌并获取对应用程序的访问权限。

在 Azure AD B2C 中,可通过两种方式提供标识用户体验:

  • 用户流 是预定义的内置可配置策略,我们提供了这些策略,以便可以在几分钟内创建注册、登录和策略编辑体验。

  • 自定义策略 使你可以为用户流不支持的复杂标识体验方案创建自己的用户旅程。 Azure AD B2C 使用自定义策略来提供扩展性。

以下屏幕截图显示了用户流设置 UI 与自定义策略配置文件。

用户流设置 UI 与自定义策略配置文件的屏幕截图。

本文简要概述了用户流和自定义策略,并帮助你确定哪种方法最适合业务需求。

用户流

若要设置最常见的标识任务,Azure 门户包含多个称为 用户流的预定义和可配置策略。

可以配置用户流设置,以控制应用程序中的标识体验行为:

  • 用于登录的帐户类型,例如社交帐户(如 Facebook)或使用电子邮件地址和密码登录的本地帐户
  • 要从使用者收集的属性,例如名字、姓氏、邮政编码或驻留的国家/地区
  • 多重身份验证
  • 用户界面的自定义
  • 在用户完成用户流后由应用程序接收的令牌中的声明集
  • 会话管理
  • ...和更多

可以使用用户流有效地定义和实现应用的大多数常见标识方案。 我们建议使用内置的用户流,除非您有需要通过自定义策略来实现完全灵活性的复杂用户旅程场景。

自定义策略

自定义策略是定义 Azure AD B2C 租户用户体验行为的配置文件。 虽然用户流程在 Azure AD B2C 门户中预定义处理最常见的身份识别任务,但身份开发人员可以完全编辑自定义策略,以完成许多不同的任务。

自定义策略是完全可配置的,并且由策略驱动。 它协调标准协议(如 OpenID Connect、OAuth、SAML)中的实体之间的信任。 以及一些非标准协议(如基于 REST API 的系统间声明交换)中实体之间的信任。 该框架创建用户友好的白标体验。

自定义策略使你能够使用任意步骤组合来构造用户旅程。 例如:

  • 与其他身份提供者联合
  • 第一方和第三方多因素身份验证的挑战
  • 收集任何用户输入
  • 使用 REST API 通信与外部系统集成

每个用户旅程都由策略定义。 可以根据需要生成任意数量的或最少的策略,以便为组织提供最佳用户体验。

IEF 支持的复杂用户旅程示例图

自定义策略由多个 XML 文件定义,这些文件在分层链中相互引用。 XML 元素定义声明架构、声明转换、内容定义、声明提供程序、技术配置文件、用户旅程业务流程步骤以及标识体验的其他方面。

需要构建复杂的标识方案时,自定义策略的强大灵活性最合适。 配置自定义策略的开发人员必须仔细定义受信任的关系,以包括元数据终结点、确切声明交换定义,以及根据每个标识提供者的要求配置机密、密钥和证书。

详细了解 Azure Active Directory B2C 中的自定义策略

比较用户流和自定义策略

下表详细比较了使用 Azure AD B2C 用户流启用的方案和使用自定义策略启用的方案。

上下文 用户流 自定义策略
目标用户 具有或没有标识专业知识的所有应用程序开发人员。 标识专业人员、系统集成商、顾问和内部标识团队。 他们熟悉 OpenID Connect 流,并了解标识提供者和基于声明的身份验证。
配置方法 使用用户友好的用户界面(UI)的 Azure 门户。 直接编辑 XML 文件,然后上传到 Azure 门户。
用户界面自定义 完整的 UI 自定义 ,包括 HTML、CSS 和 JavaScript

使用自定义字符串实现多语言支持
与用户流相同
属性自定义 标准和自定义属性。 与用户流相同
令牌和会话管理 自定义令牌会话行为 与用户流相同
标识提供者 预定义的本地社交提供商,例如与 Microsoft Entra 租户的联合。 基于标准的 OIDC、OAUTH 和 SAML。 还可以使用与 REST API 的集成进行身份验证。
标识任务 使用本地或许多社交帐户注册或登录

自助密码重置

配置文件编辑

多因素身份验证。

访问令牌流。
使用自定义身份提供者或自定义范围完成类似于用户流的任务。

注册时在另一个系统中预配用户帐户。

使用你自己的电子邮件服务提供商发送欢迎电子邮件。

使用 Azure AD B2C 外部的用户存储。

使用 API 通过受信任的系统验证用户提供的信息。

应用程序集成

可以在租户中创建许多用户流或不同类型的自定义策略,并根据需要在应用程序中使用它们。 用户流和自定义策略都可以在应用程序之间重复使用。 这种灵活性使你可以定义和修改标识体验,只需对代码做出最少更改或无需更改即可。

当用户想要登录到应用程序时,应用程序会向用户流或自定义策略提供的终结点发起授权请求。 用户流或自定义策略定义和控制用户体验。 完成用户流后,Azure AD B2C 会生成令牌,然后将用户重定向回应用程序。

移动应用,其中的箭头显示 Azure AD B2C 登录页之间的流

多个应用程序可以使用相同的用户流或自定义策略。 单个应用程序可以使用多个用户流或自定义策略。

例如,若要登录到应用程序,应用程序使用 注册或登录 用户流。 用户登录后,他们可能需要编辑其个人资料。 若要编辑配置文件,应用程序会启动另一个授权请求,这次使用 配置文件编辑 用户流。

应用程序使用包含用户流或自定义策略名称的标准 HTTP 身份验证请求触发用户流。 接收自定义令牌作为响应。

后续步骤