You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure AD B2C自定义策略:能否直接从忘记密码链接调用重置密码策略?

关于Azure AD B2C自定义UI中"忘记密码"的两种实现方式

这是个很务实的问题!其实你完全可以跳过捕获错误码的步骤,直接修改自定义UI里的「忘记密码」链接,让它直接指向你的PasswordReset策略——这反而能给用户更流畅的体验。

1. 直接修改链接href(推荐方案)

你观察到的思路完全可行,而且是用户体验更优的选择。用户点击「忘记密码」时不需要先经历登录失败的环节,直接进入密码重置流程。

具体操作是把自定义UI里忘记密码链接的href替换为你的PasswordReset策略的授权URL,格式如下:

https://<你的租户名称>.b2clogin.com/<你的租户名称>.onmicrosoft.com/oauth2/v2.0/authorize?p=<你的密码重置策略ID>&client_id=<你的应用客户端ID>&nonce=defaultNonce&redirect_uri=<你的应用重定向URI>&scope=openid&response_type=id_token&prompt=login

需要替换的关键占位符:

  • <你的租户名称>:比如contoso(对应contoso.onmicrosoft.com)
  • <你的密码重置策略ID>:比如B2C_1_PasswordReset
  • <你的应用客户端ID>:在Azure AD B2C应用注册页面获取的ID
  • <你的应用重定向URI>:和你在应用注册中配置的重定向地址完全一致

2. 捕获错误码重定向的适用场景

之前看到的捕获错误码(AADB2C90118)的方式,是一种被动触发的场景:当用户在登录页面尝试登录但密码错误/明确需要重置时,B2C会返回这个错误码,此时你的应用捕获到错误后再跳转到PasswordReset策略。

这种方式适合那些希望用户先尝试登录,只有在明确需要重置时才触发流程的场景,但体验上不如直接跳转顺畅,因为用户需要多一步登录失败的操作。

关键注意事项

  • 确保你的PasswordReset策略已经正确配置,包括用户属性收集、应用权限、重定向URI等,避免跳转后出现流程中断。
  • 完整测试整个链路:点击忘记密码→进入重置页面→完成密码重置→跳转回应用,验证每个环节都正常工作。
  • 如果你的自定义UI是通过HTML模板托管的,直接修改模板中的链接即可,不需要改动应用代码逻辑。

内容的提问来源于stack exchange,提问作者Lucky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:36:12