在 Azure Active Directory B2C 中设置密码重置流
开始之前,请使用此页顶部的“选择策略类型”选择器来选择要设置的策略类型。 Azure Active Directory B2C 提供了两种定义用户如何与应用程序交互的方法:通过预定义的用户流,或者通过可完全配置的自定义策略。 对于每种方法,本文中所需的步骤都不同。
密码重置流涉及以下步骤:
- 在注册和登录页上,用户选择“忘记密码?”链接。 Azure AD B2C 启动密码重置流。
- 在出现的下一个对话框中,用户输入其电子邮件地址,然后选择“发送验证码”。 Azure AD B2C 将验证码发送到用户的电子邮件帐户。 用户复制电子邮件中的验证码,将其输入到 Azure AD B2C 密码重置对话框中,然后选择“验证代码”。
- 然后,用户可以输入新密码。 (验证电子邮件后,用户仍可选择“更改电子邮件”按钮;如果想要将其删除,请参阅隐藏“更改电子邮件”按钮。)
selfAsserted.html 中“更改电子邮件”按钮的默认名称为“changeclaims”。 若要查找按钮名称,请在注册页上,使用“检查”等浏览器工具检查页面源。
先决条件
- 创建用户流,以便用户能够注册并登录应用程序。
- 注册 Web 应用程序。
密码重置策略(旧版)
注意
请注意,世纪互联运营的 Microsoft Azure 目前不支持自助密码重置。
如果未启用自助式密码重置体验,选择此链接不会自动触发密码重置用户流。 而是将错误代码 AADB2C90118
返回给应用程序。 应用程序必须通过重新初始化身份验证库来验证 Azure AD B2C 密码重置用户流,从而处理此错误代码。
下图描绘了此过程:
- 在应用程序中,用户选择“登录”。 该应用发起授权请求并重定向到 Azure AD B2C,以便用户可以完成登录。 授权请求指定注册或登录策略名称,如 B2C_1_signup_signin。
- 用户选择“忘记密码?”链接。 Azure AD B2C 向应用程序返回
AADB2C90118
错误代码。 - 应用程序处理错误代码,并发起新的授权请求。 授权请求指定密码重置策略名称,如 B2C_1_pwd_reset。
你可以在 ASP.NET 示例中看到一个基本演示,其中展示了用户流之间的关联方式。
创建密码重置用户流
若要允许应用程序用户重置其密码,请创建密码重置用户流:
- 在 Azure 门户中,转到 Azure AD B2C 租户概述。
- 在左侧菜单中的“策略”下,依次选择“用户流”、“新建用户流”。
- 在“创建用户流”中,选择“密码重置”用户流。
- 在“选择版本”下,选择“建议”,然后选择“创建” 。
- 对于“名称”,输入该用户流的名称。 例如 passwordreset1。
- 对于“标识提供者”,请启用“使用用户名重置密码”或“使用电子邮件地址重置密码” 。
- 在“多重身份验证”下,如果你希望要求用户使用另一种身份验证方法来验证其身份,请选择方法类型,以及何时要强制执行多重身份验证。 了解详细信息。
- 在“条件访问”下,如果已为 Azure AD B2C 租户配置条件访问策略,并且想要在此用户流中使用这些策略,请选中“强制实施条件访问策略”复选框。 无需指定策略名称。
- 在“应用程序声明”下,选择“显示更多”。 选择你希望在发送回应用程序的授权令牌中返回的声明。 例如,选择“用户的对象 ID”。
- 选择“确定”。
- 选择“创建”以添加用户流。 前缀 B2C_1 将自动添加到名称中。
测试用户流
若要测试用户流,请执行以下操作:
- 选择你创建的用户流。 在用户流概述页上,选择“运行用户流”。
- 在“应用程序”部分,选择要测试的 Web 应用程序,例如名为 webapp1 的应用程序(如果之前已注册)。 “回复 URL”应该为 。
- 选择“运行用户流”,验证要为其重置密码的帐户的电子邮件地址,然后选择“继续”。
- 更改密码,然后选择“继续”。 该令牌将返回到
https://jwt.ms
,并且浏览器将显示该令牌。
创建密码重置策略
自定义策略是上传到 Azure AD B2C 租户的一组 XML 文件,用于定义用户旅程。 我们提供了初学者包,其中有多个预构建策略,包括注册和登录、密码重置以及配置文件编辑策略。 有关详细信息,请参阅 Azure AD B2C 中的自定义策略入门。
Azure AD B2C 用户流和自定义策略故障排除
你的应用程序需要处理来自 Azure B2C 服务的某些错误。 了解如何对 Azure AD B2C 用户流和自定义策略进行故障排除。