我已使用 Azure AD 注册了一个应用程序,并且可以获取 JWT,但我根据 this 收到与 V1 JWT 相关的声明,同时我期待与 V2 JWT 相关的声明。
更具体地说,我想添加仅在 V2 下可用的 azp 声明。
我已按照这些说明添加 azp,但无法将其添加为可选声明。我的印象是我正在使用版本 2 应用程序,因为端点以 /V2 结尾,而且我还可以添加 ipaddr,据我所知,该 ipaddr 仅适用于 V2 应用程序。
任何人都可以指出我缺少的东西吗?
访问令牌的版本与您用于请求令牌的端点无关,而是与您请求的资源有关。 ms graph api的默认版本是版本
1.0
的令牌。如果您想获取 2.0
版本的令牌,您应该请求您的自定义 api。
首先,您需要创建一个代表 api 的应用程序,然后公开受 Azure 保护的 api。
接下来,在“API 权限”下,授予您的前端应用程序访问后端 API 的权限:
接下来,转到前端应用程序的清单并将
accessTokenAcceptedVersion
属性设置为:2
。
接下来,您需要使用auth code流程获取access token,这需要您登录用户并获取授权码,然后使用授权码兑换access token。
解析token,会显示
azp
声明和v2.0版本。