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

时间:2020-03-06 20:32:13

标签: authentication azure-active-directory adal msal

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

2 个答案:

答案 0 :(得分: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资源的访问令牌。

答案 1 :(得分:0)

相关问题