在 Azure Active Directory B2C 中设置密码重置流

开始之前,请使用此页顶部的“选择策略类型”选择器来选择要设置的策略类型。 Azure Active Directory B2C 提供了两种定义用户如何与应用程序交互的方法:通过预定义的用户流,或者通过可完全配置的自定义策略。 对于每种方法,本文中所需的步骤都不同。

密码重置流涉及以下步骤:

  1. 在注册和登录页上,用户选择“忘记密码?”链接。 Azure AD B2C 启动密码重置流。
  2. 在出现的下一个对话框中,用户输入其电子邮件地址,然后选择“发送验证码”。 Azure AD B2C 将验证码发送到用户的电子邮件帐户。 用户复制电子邮件中的验证码,将其输入到 Azure AD B2C 密码重置对话框中,然后选择“验证代码”。
  3. 然后,用户可以输入新密码。 (验证电子邮件后,用户仍可选择“更改电子邮件”按钮;如果想要将其删除,请参阅隐藏“更改电子邮件”按钮。)

Diagram that shows three dialogs in the password reset flow.

selfAsserted.html 中“更改电子邮件”按钮的默认名称为“changeclaims”。 若要查找按钮名称,请在注册页上,使用“检查”等浏览器工具检查页面源。

先决条件

密码重置策略(旧版)

注意

请注意,世纪互联运营的 Microsoft Azure 目前不支持自助密码重置。

如果未启用自助式密码重置体验,选择此链接不会自动触发密码重置用户流。 而是将错误代码 AADB2C90118 返回给应用程序。 应用程序必须通过重新初始化身份验证库来验证 Azure AD B2C 密码重置用户流,从而处理此错误代码。

下图描绘了此过程:

  1. 在应用程序中,用户选择“登录”。 该应用发起授权请求并重定向到 Azure AD B2C,以便用户可以完成登录。 授权请求指定注册或登录策略名称,如 B2C_1_signup_signin。
  2. 用户选择“忘记密码?”链接。 Azure AD B2C 向应用程序返回 AADB2C90118 错误代码。
  3. 应用程序处理错误代码,并发起新的授权请求。 授权请求指定密码重置策略名称,如 B2C_1_pwd_reset。

Diagram that shows the legacy password reset user flow with numbered steps.

你可以在 ASP.NET 示例中看到一个基本演示,其中展示了用户流之间的关联方式。

创建密码重置用户流

若要允许应用程序用户重置其密码,请创建密码重置用户流:

  1. 在 Azure 门户中,转到 Azure AD B2C 租户概述。
  2. 在左侧菜单中的“策略”下,依次选择“用户流”、“新建用户流”。
  3. 在“创建用户流”中,选择“密码重置”用户流。
  4. 在“选择版本”下,选择“建议”,然后选择“创建” 。
  5. 对于“名称”,输入该用户流的名称。 例如 passwordreset1
  6. 对于“标识提供者”,请启用“使用用户名重置密码”或“使用电子邮件地址重置密码” 。
  7. 在“多重身份验证”下,如果你希望要求用户使用另一种身份验证方法来验证其身份,请选择方法类型,以及何时要强制执行多重身份验证。 了解详细信息
  8. 在“条件访问”下,如果已为 Azure AD B2C 租户配置条件访问策略,并且想要在此用户流中使用这些策略,请选中“强制实施条件访问策略”复选框。 无需指定策略名称。
  9. 在“应用程序声明”下,选择“显示更多”。 选择你希望在发送回应用程序的授权令牌中返回的声明。 例如,选择“用户的对象 ID”。
  10. 选择“确定”。
  11. 选择“创建”以添加用户流。 前缀 B2C_1 将自动添加到名称中。

测试用户流

若要测试用户流,请执行以下操作:

  1. 选择你创建的用户流。 在用户流概述页上,选择“运行用户流”。
  2. 在“应用程序”部分,选择要测试的 Web 应用程序,例如名为 webapp1 的应用程序(如果之前已注册)。 “回复 URL”应该为
  3. 选择“运行用户流”,验证要为其重置密码的帐户的电子邮件地址,然后选择“继续”。
  4. 更改密码,然后选择“继续”。 该令牌将返回到 https://jwt.ms,并且浏览器将显示该令牌。

创建密码重置策略

自定义策略是上传到 Azure AD B2C 租户的一组 XML 文件,用于定义用户旅程。 我们提供了初学者包,其中有多个预构建策略,包括注册和登录、密码重置以及配置文件编辑策略。 有关详细信息,请参阅 Azure AD B2C 中的自定义策略入门

Azure AD B2C 用户流和自定义策略故障排除

你的应用程序需要处理来自 Azure B2C 服务的某些错误。 了解如何对 Azure AD B2C 用户流和自定义策略进行故障排除

后续步骤

使用嵌入式密码重置进行注册和登录.