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

Azure AD B2C自定义策略中IdTokenHint_ExtractClaims的client_secret错误排查

问题分析与解决方案

你遇到的错误是因为IdTokenHint_ExtractClaims技术配置缺少正确的签名验证配置,直接添加client_secret值触发内部错误是因为配置方式不符合B2C的密钥管理规范。以下是具体修正步骤:

1. 修正协议类型与元数据

原配置使用Protocol Name="None",会导致B2C无法正确验证id_token_hint的签名。需要改为OpenIdConnect协议,并使用租户级别的OpenID配置元数据(而非策略特定的元数据):

  • 将元数据URL替换为租户通用地址:https://xxxx.b2clogin.com/xxxx.onmicrosoft.com/v2.0/.well-known/openid-configuration
  • 添加IdTokenAudience元数据项,值设为你生成邀请token所用的应用程序客户端ID

2. 正确引用密钥而非硬编码client_secret

B2C要求通过存储引用ID调用密钥,禁止直接在配置中写入client_secret值:

  • 在Azure AD B2C租户的Identity Experience Framework下,创建新密钥(比如命名为B2C_1A_InvitationsAppSecret),值填入你的应用程序client_secret
  • 在技术配置中添加<CryptographicKeys>节点,引用该密钥的存储ID

3. 修正后的完整配置代码

<ClaimsProvider>
  <DisplayName>Self Referenced ID Token Hint ClaimsProvider</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="IdTokenHint_ExtractClaims">
      <DisplayName>Self referenced ID Token Hint TechnicalProfile</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <Metadata>
        <Item Key="METADATA">https://xxxx.b2clogin.com/xxxx.onmicrosoft.com/v2.0/.well-known/openid-configuration</Item>
        <Item Key="IdTokenAudience">你的应用程序客户端ID</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="client_secret" StorageReferenceId="B2C_1A_InvitationsAppSecret" />
      </CryptographicKeys>
      <OutputClaims>
        <!-- claims to read from the id_token_hint-->
        <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="sub" />
        <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
      </OutputClaims>
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>

关键说明

  • 使用OpenIdConnect协议后,B2C会自动从元数据中获取公钥验证id_token_hint的签名
  • 密钥引用确保了client_secret的安全性,避免硬编码带来的泄露风险
  • IdTokenAudience用于验证id_token_hint的受众是否与你的应用匹配,防止无效token被兑换

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:15:09