Active directory 调用图形API时,承载令牌无效
我想在广告中看到我的用户的完整信息(分组用户等) 我已经有了一个登录到AD的应用程序,然后我得到了一个可以访问我的azure区块链工作台API的承载令牌,一切正常。 workbench API有一个用户端点,但信息有限,它有名字、姓氏、电子邮件等。。。我想知道更多 当尝试使用我已经拥有的承载令牌调用端点时,该令牌无效,我得到:Active directory 调用图形API时,承载令牌无效,active-directory,azure-active-directory,microsoft-graph-api,microsoft-graph-sdks,Active Directory,Azure Active Directory,Microsoft Graph Api,Microsoft Graph Sdks,我想在广告中看到我的用户的完整信息(分组用户等) 我已经有了一个登录到AD的应用程序,然后我得到了一个可以访问我的azure区块链工作台API的承载令牌,一切正常。 workbench API有一个用户端点,但信息有限,它有名字、姓氏、电子邮件等。。。我想知道更多 当尝试使用我已经拥有的承载令牌调用端点时,该令牌无效,我得到: { "odata.error": { "code": "Authentication_MissingOrMalformed", "messa
{
"odata.error": {
"code": "Authentication_MissingOrMalformed",
"message": {
"lang": "en",
"value": "Access Token missing or malformed."
},
"requestId": "47322d1e-24d5-4170-ace5-947a8725ec1c",
"date": "2019-03-13T08:14:37"
}
}
我也尝试了不同的方法。我有一个服务主体,并为该服务主体授予了windows active directory用户基本信息权限。我还授予它一个Microsoft Graph特权,以及一个mu区块链应用程序特权(不确定是否需要)
我使用客户机凭证主体调用{{tenant id}}/oauth2/token,得到一个承载令牌。现在有了这个不记名代币,我得到了:
{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"request-id": "2a7febaa-a6db-4770-a323-1971fa0bf863",
"date": "2019-03-17T13:54:57"
}
}
}
需要为Microsoft Graph API获取访问令牌作为资源 在第一种方法中,您已经拥有的workbench api令牌将不适用于Microsoft Graph,因为该令牌是用于workbench api的。。您可以通过查看该令牌的
aud
声明来检查这一点。您可以使用
在第二种方法中,只要您指定获取令牌的资源是
https://graph.microsoft.com
而不是工作台API。如果您仍然面临问题,请共享您用于获取令牌的代码或解码令牌本身(减去任何敏感信息)最终第二种方法成功了,我只需授予更多与用户相关的访问权限,谢谢