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

Azure B2C自定义策略:totpIdentifier缺失致二维码页面加载失败

解决Azure B2C TOTP注册流程中totpIdentifier缺失的问题

核心原因分析

注册流程中,totpIdentifier声明由TotpFactor-Input技术配置生成,但该配置依赖已创建的用户数据。如果注册旅程里用户创建步骤与TOTP初始化步骤的执行顺序错位,或声明传递存在断层,就会导致CreateUriLabel转换时找不到该声明。登录时流程正常,是因为此时用户已存在,TotpFactor-Input能从用户存储中读取数据生成totpIdentifier。

具体修复思路

  • 调整注册旅程步骤顺序:确保在调用CreateUriLabel声明转换之前,先完成用户创建操作(如AAD-UserWriteUsingAlternativeSecurityId或AAD-UserWriteProfileUsingObjectId),再执行TotpFactor-Input技术配置。避免显示二维码的自断言页面在用户创建前触发。
  • 验证TotpFactor-Input的输出配置:检查该技术配置的OutputClaims节点,确认已显式输出totpIdentifier:
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="totpIdentifier" />
      <!-- 其他输出声明 -->
    </OutputClaims>
    
  • 确认自断言页面的转换触发顺序:在显示二维码的自断言页面(如SelfAsserted-TOTPSetup)中,确保CreateUriLabel声明转换的触发顺序在TotpFactor-Input调用之后,可通过TechnicalProfile的ClaimsTransformations或自断言页面的OutputClaimsTransformations节点调整。
  • 检查用户创建后的声明传递:用户创建完成后,确保objectId等关键声明被保留在声明包中,TotpFactor-Input需要依赖objectId从用户存储中获取数据生成totpIdentifier。
  • 启用策略调试日志:通过Azure门户开启B2C策略调试日志,追踪注册流程中每个步骤的声明流转,精准定位totpIdentifier未生成或丢失的环节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 17:10:25