使用Microsoft Graph API创建Azure应用时RequestedAccessTokenVersion值异常
关于Azure应用
RequestedAccessTokenVersion变为null的原因分析 核心背景
RequestedAccessTokenVersion(对应Azure门户中的accessTokenAcceptedVersion)用于指定应用接受的JWT访问令牌版本:值为2对应v2格式令牌,null则会根据令牌请求端点回退到v1格式,这会直接影响令牌的结构和声明内容。
可能的原因
- Microsoft Graph API默认行为变更:近期微软可能调整了应用创建API的默认配置逻辑。此前未显式指定该参数时,API默认会将
RequestedAccessTokenVersion设为2,但服务端更新后,未指定参数的新建应用会被设为null。 - API端点版本影响:若你的代码调用的是Microsoft Graph的
beta端点,该端点的默认配置本身就存在变更可能性;即使是v1.0端点,微软也可能对旧版本端点的默认行为做了调整。 - 租户级策略或模板变更:你的Azure AD租户可能被配置了新的应用注册模板或全局策略,强制新创建的应用使用默认的
accessTokenAcceptedVersion值。可在Azure AD门户的「企业应用 > 应用模板」或「应用注册策略」中排查相关设置。
临时解决方案
为彻底规避该问题,建议在调用Microsoft Graph API创建应用时,显式指定requestedAccessTokenVersion参数为2,覆盖服务端默认值。示例请求体:
{ "displayName": "你的应用名称", "requestedAccessTokenVersion": 2, // 其他应用配置参数 }
内容的提问来源于stack exchange,提问作者Jay.Wang
相关产品推荐
相关产品推荐

