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

如何区分微软身份平台颁发的OIDC JWT访问令牌与ID令牌?

如何区分微软身份平台颁发的OIDC JWT是访问令牌还是ID令牌

不需要依赖scp或roles这类声明,你可以通过以下几个更可靠的固定JWT声明来判断:

  • 检查typ令牌类型声明
    ID令牌的typ字段固定为ID Token;而访问令牌的typ通常是Bearer(部分场景下可能省略该字段,但ID令牌一定会包含typ: "ID Token")。

  • 对比aud受众声明
    ID令牌的aud值始终是你的应用客户端ID(即注册在Azure AD里的应用ID);访问令牌的aud则是目标受保护资源的标识符——比如调用Microsoft Graph时是https://graph.microsoft.com,调用自定义API时是该API的应用ID URI或客户端ID。即使访问令牌的aud恰好是你的客户端ID(比如获取自己API的访问令牌),结合typ字段也能区分。

  • 查看OIDC核心用户属性声明
    ID令牌严格遵循OIDC规范,会包含用户身份相关的核心声明,比如sub(用户唯一标识)、name、email、given_name等(只要请求时包含了对应的scope);而访问令牌的核心作用是授权,不会默认包含这些用户属性类声明,即使有也是额外添加的非必需项。

  • 检查nonce声明
    如果你的认证请求中发送了nonce参数,ID令牌会原样返回这个nonce字段;访问令牌绝不会包含nonce声明,这是OIDC规范里ID令牌特有的验证字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:07:05