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

Azure AD B2C自定义策略上传及GenerateOtp配置错误排查

排查B2C自定义策略中GenerateOtp缺失identifier声明的问题

以下是针对报错的具体排查和修复步骤:

  • 检查ClaimsSchema中是否定义了identifier声明
    打开你的扩展策略XML,确认<ClaimsSchema>节点下存在identifier的声明。如果没有,添加以下代码:

    <ClaimType Id="identifier">
      <DisplayName>Identifier</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
    

    这个声明是GenerateOtp技术配置文件能够识别该claim的前提。

  • 验证GenerateOtp技术配置文件的InputClaims映射
    找到<TechnicalProfile Id="GenerateOtp">节点,检查其<InputClaims>配置是否正确映射了identifier:

    <InputClaims>
      <InputClaim ClaimTypeReferenceId="identifier" PartnerClaimType="identifier" />
    </InputClaims>
    

    确保ClaimTypeReferenceId指向的是你在ClaimsSchema中定义的claim ID,PartnerClaimType必须和报错中提到的identifier完全一致。如果你的实际标识符是邮箱或手机号,也可以直接映射现有claim,比如:

    <InputClaims>
      <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="identifier" />
    </InputClaims>
    
  • 确认identifier在调用GenerateOtp前已被赋值
    查看用户旅程(<UserJourney>)中的编排步骤,确保在执行GenerateOtp技术配置文件的步骤之前,已经通过收集用户信息、读取目录数据等方式为identifier赋值。例如,如果是通过邮箱生成OTP,需要先有收集用户邮箱的步骤,确保email(或identifier)claim存在有效值。

  • 检查策略继承与冲突
    如果你使用的是扩展策略,确认<BasePolicy>指向的父策略没有覆盖identifier的定义,且父策略的ClaimsSchema中包含必要的声明。避免父策略和扩展策略中出现同名claim的冲突配置。

  • 验证Signin策略的用户旅程配置
    打开B2C_1A_DisplayControl_sendgrid_Signin策略,找到对应的用户旅程,检查调用GenerateOtp的步骤顺序,确保identifier在调用前已经被正确生成或传递到该步骤中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 23:17:01