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

Azure AD Directory Extensions声明缺失及令牌扩展声明数量限制咨询

Azure AD Access Token 扩展声明未显示问题解答

问题场景

已向Access Token中添加约18个扩展声明,确认所有声明均已赋值,但部分声明未出现在JWT Access Token中,不过可通过Graph API获取这些值。

JWT令牌中的扩展声明示例:

"extn.***_**_CreatedDate": [
"30/09/2022 12:21:01 PM +00:00"
]

应用清单令牌配置示例:

"optionalClaims": {
    "idToken": [
        {
            "name": "extension_someguid_***_***_CreatedDate",
            "source": "user",
            "essential": false,
            "additionalProperties": []
         }
    ]
}

核心原因:Token大小限制

Azure AD 对 Access Token 的总大小有严格限制(通常不超过4KB)。当添加的内置声明+自定义扩展声明总数据量接近或超过这个阈值时,Azure AD 会自动省略部分非必需声明,以保证Token在标准HTTP传输范围内。这类被省略的声明仍会存储在Azure AD中,因此可以通过Graph API正常获取。

额外注意点

你提供的应用清单配置是针对idToken的声明,但你实际关注的是Access Token。如果需要扩展声明出现在Access Token中,需确保在optionalClaims的accessToken节点下做对应配置:

"optionalClaims": {
    "accessToken": [
        {
            "name": "extension_someguid_***_***_CreatedDate",
            "source": "user",
            "essential": false,
            "additionalProperties": []
         }
    ]
}

不过结合你提到部分声明已出现在Access Token中,大小超限是更可能的原因。

建议

  • 优先将业务核心声明配置到Access Token中,非核心数据通过Graph API按需获取。
  • 定期清理不必要的扩展声明,避免Token持续膨胀。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:45:34