我已向 Azure AD 注册了一个应用程序,可以获取 JWT,但我收到了与 V1 JWT 相关的声明,根据 this 而我期待与 V2 JWT 相关的声明。
更具体地说,我想添加仅在 V2 下可用的 azp 声明。
我已经按照 these instructions 添加了 azp,但它不能作为可选声明添加。我的印象是我使用的是版本 2 应用程序,因为端点以 /V2 结尾,而且我还可以添加 ipaddr,据我所知,它仅适用于 V2 应用程序。
谁能指出我遗漏了什么?
答案 0 :(得分:1)
访问令牌的版本与您用于请求令牌的端点无关,而是与您请求的资源相关。 ms graph api 的默认版本是 1.0
版本的令牌。如果您想获取 2.0
版本的令牌,您应该请求您的自定义 API。
首先需要创建一个代表api的应用,然后暴露Azure保护的api。
接下来,在“API 权限”下,授予前端应用程序访问后端 api 的权限:
接下来,转到前端应用程序的清单并将 accessTokenAcceptedVersion
attribute 设置为:2
。
接下来需要使用auth code flow获取访问令牌,需要先登录用户获取授权码,然后使用授权码兑换访问令牌。
>解析令牌,它将显示 azp
声明和 v2.0 版本。