Microsoft Graph API:没有足够的权限来完成操作

时间:2017-03-13 13:26:23

标签: azure oauth-2.0 jwt adal azure-ad-graph-api

问题

通过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令牌会显示操作所需的权限

1 个答案:

答案 0 :(得分:2)

解决方案

看来,微软的文档不正确。列出用户需要Directory.Read权限。

更新

根据Microsoft的说法,目前尚不清楚,如果这是Graph API中的错误或文档错误。
Github here开放了一个问题。

更新2

此问题已于2017年5月更新了Graph API。