首页 文章

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

提问于
浏览
1

问题

通过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 回答

  • 2

    解决方案

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

    更新

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

    更新2

    此问题已在2017年5月的Graph API更新中得到修复 .

相关问题