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

Azure B2C自定义策略重置密码后仍提示密码过期问题

Azure B2C自定义策略密码重置异常问题

背景信息

  • 正在8月31日旧URL弃用前,从旧版Azure B2C策略迁移至新版策略
  • 使用含句点的本地账户用户名登录,因默认验证正则不支持,基于示例创建了仅启用用户名、禁用邮箱登录的自定义策略,修改正则规则允许用户名包含句点并支持更长长度,多数测试账户可正常登录

异常问题

  • 某测试账户登录时持续提示:The password has expired.
  • 通过Azure B2C门户执行密码重置操作(旧版策略下此操作可解决过期问题),但重置后登录仍显示相同过期提示

排查信息

  • 登录日志确认该账户密码状态为已过期
  • 审核日志确认密码已完成重置,账户Block sign in设置为no
  • 登录诊断未提供有效排查线索

已尝试操作与疑问

  • 已上传PasswordReset_UsernameOrEmail策略,但问题未解决
  • 怀疑问题出在TrustFrameworkExtensions_UsernameOrEmail策略配置,或遗漏了触发新密码设置表单的相关策略逻辑

相关策略代码(TrustFrameworkExtensions_UsernameOrEmail中的用户旅程)

<UserJourney Id="PasswordReset_UsernameOrEmail">
  <OrchestrationSteps>

    <OrchestrationStep Order="1" Type="ClaimsExchange">
      <ClaimsExchanges>
        <ClaimsExchange Id="LocalAccountSignUp" TechnicalProfileReferenceId="SelfAsserted-LocalAccountLookup-Combined-PwdReset" />
      </ClaimsExchanges>
    </OrchestrationStep>

    <OrchestrationStep Order="2" Type="ClaimsExchange">
      <Preconditions>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
          <Value>isEmailBoolean</Value>
          <Value>True</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
      </Preconditions>
      <ClaimsExchanges>
        <ClaimsExchange Id="VerifyEmailForUsernameForPwdReset" TechnicalProfileReferenceId="LocalAccountDiscoveryUsingUserNameAndValidateStrongAuthenticationEmailAddress" />
      </ClaimsExchanges>
    </OrchestrationStep>

    <OrchestrationStep Order="3" Type="ClaimsExchange">
      <Preconditions>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
          <Value>isEmailBoolean</Value>
          <Value>False</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
      </Preconditions>
      <ClaimsExchanges>
        <ClaimsExchange Id="VerifyEmailAndPassword" TechnicalProfileReferenceId="LocalAccountEmail-PwdReset" />
      </ClaimsExchanges>
    </OrchestrationStep>

    <OrchestrationStep Order="4" Type="ClaimsExchange">
      <ClaimsExchanges>
        <ClaimsExchange Id="NewCredentialsForEmailAcct" TechnicalProfileReferenceId="LocalAccountWritePasswordUsingObjectId" />
      </ClaimsExchanges>
    </OrchestrationStep>

    <OrchestrationStep Order="5" Type="ClaimsExchange">
      <ClaimsExchanges>
        <ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
      </ClaimsExchanges>
    </OrchestrationStep>

    <OrchestrationStep Order="6" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />

  </OrchestrationSteps>
  <ClientDefinition ReferenceId="DefaultWeb" />
</UserJourney>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:27:18