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

Azure AD B2C自定义SendGrid OTP策略报错:otpToVerify未找到

Azure AD B2C OTP验证错误排查方案

错误核心原因

该错误表明VerifyOtp技术配置文件要求的otpToVerify声明未在策略流转中被正确生成或传递,属于声明依赖缺失问题。

具体排查步骤

  • 检查OTP生成环节的声明输出
    确认负责生成OTP的技术配置文件(通常为GenerateOtp)已在<OutputClaims>中输出otpToVerify声明:

    <TechnicalProfile Id="GenerateOtp">
      <!-- 其他配置 -->
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="otpToVerify" />
        <!-- 其他输出声明 -->
      </OutputClaims>
    </TechnicalProfile>
    

    同时需保证<ClaimsSchema>中存在该声明的定义:

    <ClaimsSchema>
      <ClaimType Id="otpToVerify">
        <DisplayName>OTP Verification Code</DisplayName>
        <DataType>string</DataType>
      </ClaimType>
      <!-- 其他声明定义 -->
    </ClaimsSchema>
    
  • 验证声明流转的完整性
    查看用户旅程(User Journey)的编排步骤,确认在调用VerifyOtp技术配置文件之前,已执行过GenerateOtp步骤,且该步骤未被配置为清除otpToVerify声明。例如,编排步骤中需确保GenerateOtp的执行顺序在VerifyOtp之前,且步骤的<ClaimsExchanges>正确关联。

  • 检查SendGrid配置对声明的影响
    确认SendGrid的技术配置文件仅处理邮件发送相关声明(如收件邮箱、模板变量),未在<InputClaimsTransformations>或<OutputClaims>中修改/删除otpToVerify声明。SendGrid环节应仅负责将生成的OTP通过邮件发送,不能干扰OTP验证所需的声明留存。

  • 核对VerifyOtp的输入声明配置
    检查VerifyOtp技术配置文件的<InputClaims>节点,确认对otpToVerify的引用无拼写错误,且标记为必填:

    <TechnicalProfile Id="VerifyOtp">
      <!-- 其他配置 -->
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="otpToVerify" Required="true" />
        <!-- 其他输入声明 -->
      </InputClaims>
    </TechnicalProfile>
    

额外注意事项

  • 声明ID区分大小写,所有涉及otpToVerify的配置需保证拼写完全一致。
  • 若使用自定义声明,需避免与内置声明ID冲突,且确保声明定义在策略的<ClaimsSchema>中全局可见。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 03:19:51