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

Keycloak集成Azure ADB2C时sub声明为空的配置问题咨询

Azure AD B2C 与 Keycloak 集成 sub 声明为空调整方案

快速定位前置步骤:直接调用B2C授权端点获取原始ID令牌,解码确认sub字段是否存在非空值,以此判断问题出在B2C策略侧还是Keycloak配置侧。

一、Azure AD B2C 策略调整项

  • 若使用标准用户流:进入「用户流」> 选择对应认证流 > 「应用声明」配置页,勾选用户ID选项,该选项对应底层sub声明,勾选后B2C返回的令牌会默认携带该字段。
  • 若使用自定义IEF策略:
    1. 在依赖方(RelyingParty)节点的OutputClaims列表中添加sub的输出配置:
    <OutputClaim ClaimTypeReferenceId="sub" PartnerClaimType="sub" />
    
    1. 确认声明架构中sub的ClaimType定义存在,且取值绑定到用户对象ID,没有被后续声明转换操作覆盖为空。
  • 检查B2C的「令牌兼容性设置」,确认没有开启删除sub声明的兼容选项。

二、Keycloak 映射配置调整项

  • 检查B2C身份提供商的映射器配置:进入「身份提供商」> 对应B2C实例 > 「映射器」页,删除所有将sub声明设置为硬编码空值的错误映射器。
  • 新增显式sub映射:新建类型为Attribute Importer的映射器,源属性名称填sub,目标声明/用户属性名称填sub,勾选添加到ID令牌、访问令牌的选项。
  • 检查B2C身份提供商的「声明过滤规则」,确认sub没有被加入排除声明列表。
  • 检查Keycloak全局用户配置中的声明重写规则,确认没有全局覆盖sub的取值为空。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:45:10