我正在尝试使用图形 API 获取多租户应用程序的所有用户。为此,我使用请求生成了访问令牌:
POST https://login.microsoftonline.com/common/oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
client_id=535fb089-9ff3-47b6-9bfb-4f1264799865
&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default
&client_secret=qWgdYAmab0YSkuL1qKv5bPX
&grant_type=client_credentials
Note:请注意,在上面的请求中,我使用了common
代替{tenantID}
。这只是一次点击和尝试,就像在 adminConsent 中建议的那样.
通过使用上面生成的访问令牌,我请求用户 API 并收到以下错误
{
"error": {
"code": "Authorization_IdentityNotFound",
"message": "The identity of the calling application could not be established.",
"innerError": {
"request-id": "56141b7d-dd5e-44b1-9395-cd15d02b52de",
"date": "2019-06-17T12:42:19"
}
}
}
当我使用租户 ID 生成令牌时,它仅返回一个活动目录的用户。
谁能建议我哪里出错了?
由于您使用的是通用端点,因此您不能在此处使用客户端凭据流(无需用户即可访问)。你需要参考这个document https://learn.microsoft.com/en-us/graph/auth-v2-user?view=graph-rest-1.0(代表用户获取访问权限)。
Note:当您使用授权码授予流程(代表用户获取访问权限)时,您需要授予委托许可而不是应用程序许可。
获取访问令牌
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)