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

Azure B2C中为idToken添加sid失败的技术求助

解决Azure AD自定义策略下sid可选声明不生效问题

问题背景

已在应用清单中配置sid的idToken可选声明,但令牌中未出现该声明;使用自定义策略后,所有可选声明均无变化,需sid实现子域间SSO。

关键原因

使用Azure AD B2C自定义策略时,应用清单内的可选声明配置不会生效,必须通过自定义策略文件显式声明并传递该字段。

具体解决步骤

  • 添加sid声明定义:在策略的<ClaimsSchema>节点下新增声明类型
    <ClaimType Id="sid">
      <DisplayName>Session ID</DisplayName>
      <DataType>string</DataType>
      <AdminHelpText>用户当前会话的标识符</AdminHelpText>
    </ClaimType>
    
  • 从目录服务获取sid:在读取用户信息的技术配置文件(如AAD-UserReadUsingObjectId)中添加输出声明
    <OutputClaim ClaimTypeReferenceId="sid" PartnerClaimType="sid" />
    
  • 将sid纳入idToken:在签发JWT的技术配置文件(通常为JwtIssuer)中添加输出声明
    <OutputClaim ClaimTypeReferenceId="sid" />
    
  • 校验用户旅程:确保上述技术配置文件在用户旅程的编排步骤中被正确调用,声明可在流程中传递

验证方式

发布更新后的自定义策略,重新获取idToken,通过JWT解码工具检查令牌内容,确认sid声明已存在。

提示:若使用标准Azure AD应用注册(非B2C自定义策略),应用清单的配置通常会直接生效,但自定义策略会覆盖该逻辑,必须通过策略文件配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:53:09