【发布时间】:2017-08-03 12:55:29
【问题描述】:
问题
通过 ADAL 为 Microsoft Graph API 生成访问令牌时,Graph API 不接受该令牌。
{
"odata.error": {
"code": "Authorization_RequestDenied",
"message": {
"lang": "en",
"value": "Insufficient privileges to complete the operation."
}
}
}
应用程序做什么
应用程序应读取租户的所有用户。该应用程序配置为具有User.Read.All 权限。应用程序同意由租户授予,用户应从中读取 - 应用程序确实以权限显示在 Azure 门户中。
到目前为止我所拥有的
该应用程序几天前工作了,我什么也没做。其他应用程序使用相同的方式来验证工作。
- 重新创建到 AAD 应用程序没有帮助
- 重新安装 NuGet 包没有帮助
- 将权限从 login.windows.net 更改为 login.microsoftonline.com 没有帮助
- 令牌生成不适用于客户端机密,也不适用于证书
- 解码生成的 JWT 令牌显示操作所需的权限
【问题讨论】:
-
JWT 具体显示哪些权限?因为如果他们在那里,如果他们是正确的,它应该可以工作。
-
JWT 令牌显示:“Group.Read.All”和“User.Read.All”。我知道,它应该可以工作......微软的一张票已经打开了:-)
-
您调用的 URL 是
https://graph.microsoft.com/v1.0/users,而 JWT 中的aud声明是https://graph.microsoft.com对吧? -
是的,这是正确的。
-
好吧,那我没主意了。希望你的票能很快得到回应:)
标签: azure oauth-2.0 jwt adal azure-ad-graph-api