Azure AD:可以使用给定应用程序的访问令牌来检索其他应用程序的访问令牌吗?

问题描述 投票:0回答:2

考虑到这两个应用程序下面的Azure AD是相同的,因此应该可行,但是我不确定如何实现?有什么建议吗?

authentication azure-active-directory adal msal
2个回答
0
投票

您需要了解refresh token

在当前访问令牌过期后,该应用可以使用此令牌获取其他访问令牌。 Refresh_tokens的寿命很长,可用于长时间保留对资源的访问。

因此,当您请求第一个访问令牌时,您需要获取刷新令牌。

然后,您可以使用此刷新令牌来获取另一个资源(或范围)的新访问令牌。

//换行符仅供阅读

POST /{tenant}/oauth2/v2.0/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&scope=https%3A%2F%2Fgraph.microsoft.com%2Fmail.read
&refresh_token=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq...
&grant_type=refresh_token
&client_secret=JqQX2PNo9bpM0uEihUPzyrh      // NOTE: Only required for web apps. This secret needs to be URL-Encoded

您应该修改scope。如果您的第一个访问令牌是针对资源Microsoft Teams的,则现在可以将socpe修改为https://graph.microsoft.com/.default。然后,您将获得用于访问Microsoft Graph资源的访问令牌。


© www.soinside.com 2019 - 2024. All rights reserved.