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

B2C自定义密码重置策略完成后新标签登录强制进入忘记密码流问题

Azure AD B2C 密码重置后强制跳转重置流程问题修复方案

问题根因

该异常核心是密码重置流程完成后上下文会话标记未正确清理,或多套策略会话配置存在冲突,触发条件如下:

  • 密码重置策略执行完成后,未清除浏览器残留的重置流程上下文标记,B2C接收到新登录请求时会误判用户仍处于未完成的重置流程中
  • 两套登录策略的会话cookie作用域配置重叠,跨应用访问时会话标记互相干扰
  • 密码重置流程的最终步骤未显式退出重置上下文,直接返回应用令牌导致会话状态停留在重置流程

修复步骤

自定义策略场景

  1. 密码重置策略添加会话清理配置
    在密码重置策略的信赖方(RelyingParty)节点OutputClaims段添加重置完成标记:
<OutputClaim ClaimTypeReferenceId="resetPasswordCompleted" DefaultValue="true" AlwaysUseDefaultValue="true" />

在密码重置用户旅程的最后一个编排步骤新增会话清理声明交换:

<OrchestrationStep Order="替换为你当前最后一步的序号+1" Type="ClaimsExchange">
  <ClaimsExchanges>
    <ClaimsExchange Id="ClearResetPasswordSession" TechnicalProfileReferenceId="LocalAccountWritePasswordUsingObjectId" />
  </ClaimsExchanges>
</OrchestrationStep>

对应密码写入技术配置添加属性清理规则:

<PersistedClaim ClaimTypeReferenceId="extension_forcePasswordReset" DefaultValue="false" AlwaysUseDefaultValue="true" />
  1. 隔离多套策略的会话作用域
    分别给两套登录策略的RelyingParty下的UserJourneyBehaviors节点配置独立的会话参数:
    第一套应用对应策略:
<SingleSignOn Scope="Application" CookieName="App1_Login_SSO" />

第二套应用对应策略:

<SingleSignOn Scope="Application" CookieName="App2_Login_SSO" />

同域名部署的应用可额外添加CookiePath参数进一步隔离会话范围。
3. 重置完成后显式退出重置上下文
修改密码重置流程的最终编排步骤,不要直接返回令牌到应用,改为跳转到对应应用的登录策略发起端点,彻底重置会话上下文。

用户流场景

进入密码重置用户流的「会话行为」配置页,开启「密码重置完成后终止当前会话」选项即可。

验证规则

修改完成后按以下步骤验证修复效果:

  • 触发密码重置流程,完成密码修改操作
  • 关闭当前标签页,新开标签页访问应用地址发起登录
  • 确认直接进入登录凭证输入页面,不会自动跳转密码重置流程
  • 两个应用分别执行上述操作,确认互不干扰

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:06:07