ClientCredentials流访问令牌是否仅适用于特定租户?

时间:2020-10-14 00:56:29

标签: oauth-2.0 microsoft-graph-api

我想确认从客户端凭证流(https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow)中的/{tenant}/oauth2/v2.0/token端点返回的访问令牌仅可用于从租户中指定的数据中获取数据。请求-即不能用于对另一个管理员已安装该应用程序的租户进行api调用?

您能确认我的理解是正确的吗?谢谢!

1 个答案:

答案 0 :(得分:0)

从Azure AD的文档中可以。您针对特定租户获得的令牌仅足以与配置/允许该租户访问的端点进行通信。

如果您想采用多租户方法,则需要遵循多租户应用流程,其中特别提到了/common端点。

From documentation

更新您的代码以将请求发送到/ common

在单个租户应用程序中,登录请求被发送到 租户的登录端点。例如,对于contoso.onmicrosoft.com 端点将是: https://login.microsoftonline.com/contoso.onmicrosoft.com。要求 发送到租户端点的用户可以在其中登录用户(或来宾) 租户到该租户中的应用程序。

对于多租户应用程序,该应用程序不预先知道 用户来自哪个租户,因此您无法向租户的租户发送请求 端点。而是将请求发送到多路复用的端点 所有Azure AD租户之间:https://login.microsoftonline.com/common