即使将 accessTokenAcceptedVersion 更改为 2,Microsoft JWT 也设置为 sts.windows.net

时间:2021-06-07 15:24:42

标签: azure azure-web-app-service access-token

我创建了一个新的应用服务,并在 manifest.json 中将 accessTokenAcceptedVersion 设置为 2,因为我正在寻找类似于 here 的 v2 令牌。但是,Microsoft 生成的 accessToken 在解码时始终具有 sts.windows.net 的 iss 值。我希望它是 login.microsoftonline.com。请指教。

这是我的实现:

enter image description here

这是我解码后的令牌:

enter image description here

请指教。

1 个答案:

答案 0 :(得分:1)

请参阅 this part(仅在您分享的链接中):

<块引用>

资源始终拥有自己的令牌(具有 aud 声明的令牌)并且 唯一可以更改其令牌详细信息的应用程序。这就是为什么 更改客户端的访问令牌可选声明不会 更改请求令牌时收到的访问令牌 user.read,归 Microsoft Graph 资源所有。

这意味着应该在服务端应用注册而不是客户端应用注册中配置 accessTokenAcceptedVersion 设置。

对于 Microsoft Graph 令牌,我们无法在服务端对其进行配置,因为 Microsoft Graph 应用注册由 Microsoft 正式管理。

在客户端配置 accessTokenAcceptedVersion 不会将令牌版本更改为 2。这是预期的。

此功能主要用于调用自己的受 AAD 保护的 Web API,而不是 Microsoft 官方 API。


更新:

如果你想调用你自己的API,你应该通过Protected web API: App registration创建服务端应用注册并在其中设置accessTokenAcceptedVersion

这是 Scenario: A web app that calls web APIs 的完整文档。

相关问题