如何在Azure上下文外为Azure AD B2C认证站点提供密码重置功能
Azure AD B2C 已认证用户脱离Azure上下文的密码修改实现方案
核心实现方式
- 方式一:使用独立的密码修改用户流
你可以在Azure AD B2C租户中单独创建密码修改用户流,在你的业务站点内设置「修改密码」功能入口,直接跳转至该用户流对应的子域名访问地址即可。只要用户浏览器侧保留有有效的B2C会话Cookie,用户流会自动识别当前登录身份,无需用户重新输入账号信息,完成旧密码校验后即可设置新密码,和你现有认证入口的子域名部署逻辑完全适配。 - 方式二:调用Microsoft Graph API实现无跳转修改
如果你的业务需要避免跳转至B2C子域名页面,可以在业务后端调用PATCH /users/{user-id}接口,在请求体中携带passwordProfile参数完成密码修改。该方案要求你的应用提前申请User.ReadWrite.All的Graph API权限,且必须在业务侧先完成用户旧密码的身份校验,避免越权修改风险。
关于接收绑定邮箱的端点说明
Azure AD B2C未提供无身份校验即可传入邮箱发起密码修改的公开端点,该设计为原生安全策略,用于防范账号枚举、批量恶意触发密码重置的风险。如果你的业务需要自定义触发逻辑,可先通过Graph API查询对应用户的绑定邮箱完成合法性校验后,再调用密码修改相关接口或用户流执行操作。
内容的提问来源于stack exchange,提问作者joaopintocruz
相关产品推荐
相关产品推荐

