Azure AD JWT缺失azp声明:V2端点返回V1版本声明问题排查
遗漏配置项排查指引
- 首先确认目标资源应用的清单配置:访问令牌的版本由你请求的目标资源的应用配置决定,而非客户端应用配置。进入目标资源的应用注册页面,打开「清单」选项卡,找到
accessTokenAcceptedVersion参数,将默认的null或者1修改为2,保存后等待1-2分钟生效。 - 确认客户端应用的清单配置:如果是客户端本身作为资源接收令牌,同样需要将自身清单中的
accessTokenAcceptedVersion设置为2。 - 不需要手动添加
azp作为可选声明:azp属于V2版本访问令牌的默认自带声明,不在可选声明的可配置范围内,这也是你无法手动添加该声明的原因,只要令牌实际为V2版本,该声明会自动返回。 - 验证令牌实际版本:将获取到的JWT解码,检查
ver声明的值,值为2.0才是真正的V2版本令牌,仅调用V2端点不代表返回的一定是V2令牌。 - 如果你请求的是微软Graph的资源接口,那么微软Graph默认返回V1版本访问令牌,该配置无法自定义修改,无法获取带
azp的V2版本令牌。
内容的提问来源于stack exchange,提问作者Benji Kok
相关产品推荐
相关产品推荐

