我想查看AD中我的用户的完整信息(组中的用户等)我已经有了一个登录到AD的应用程序,然后我得到了一个持有者令牌,它可以访问我的azure区块链工作台API,一切都很正常。工作台API有一个用户端点,但信息有限,它有名字、姓氏、电子邮件等……我想知道更多。
当尝试使用我已经拥有的持有者令牌调用https://graph.microsoft.com/v1.0/me端点时,它是无效的,我得到:
{
"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区块链应用程序的特权(不确定是否需要)。
我使用客户端凭证主体调用https://login.microsoftonline.com/{{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"
}
}
}
发布于 2019-03-18 09:04:35
需要为Microsoft Graph API获取访问令牌作为资源。
在第一种方法中,您已有用于workbench api的令牌不适用于Microsoft Graph,因为该令牌是用于Workbench API的。可以通过查看该令牌的aud
声明来检查这一点。您可以使用https://jwt.ms解码令牌
在第二种方法中,只要您指定要获取令牌的资源是https://graph.microsoft.com
而不是workbench API,token就会起作用。如果你仍然面临问题,分享你用来获取令牌或解码令牌本身的代码(减去任何敏感信息)
https://stackoverflow.com/questions/55208131
复制相似问题