写入架构扩展的权限不足

时间:2017-10-04 09:45:06

标签: azure-active-directory microsoft-graph

我已经为用户注册了架构扩展。

我想用它来存储用户登录应用后的数据,但我无法弄清楚权限。在我的(管理员)帐户我能够,没问题,但我收到的正常用户帐户:

"error": {
    "code": "Authorization_RequestDenied",
    "message": "Insufficient privileges to complete the operation.",
    "innerError": {
        "request-id": "2ee94ed5-f351-4992-8db0-2e3b420aa581",
        "date": "2017-10-04T09:37:49"
    }
}

我使用架构扩展而不是开放扩展(确实有效)的原因是我需要能够通过扩展来过滤用户。我似乎无法通过开放式扩展来做到这一点。

PATCH请求如下:

https://graph.microsoft.com/v1.0/me

{
    "extkh2zr49b_notifications":{
        "badgeCount":"0",
        "pushToken":"test",
    }   
}

我对该应用的委派权限为:

profileopenidDirectory.AccessAsUser.AllDirectory.ReadWrite.AllUser.ReadWrite.All

2 个答案:

答案 0 :(得分:1)

在普通用户可以利用某些范围之前,首先需要为这些范围提供Admin Consent。在您的情况下,范围Directory.AccessAsUser.AllDirectory.ReadWrite.AllUser.ReadWrite.All需要得到同意。

您可能会发现此文章有用:v2 Endpoint and Admin Consent

答案 1 :(得分:1)

我认为普通用户无法编辑其架构扩展。我尝试授予所有可用权限。

我最终使用的是开放式扩展程序。我能够返回一个组的所有成员以及他们的扩展。这对我来说已经足够了(远比检查组织中每个用户的扩展程序要好得多......)

查询如下:

  ?

https://graph.microsoft.com/v1.0/groups/[id]/members/ $ / microsoft.graph.user $扩展=扩展&安培; $选择= ID

我在微软的任何官方文档中都找不到这个,所以希望它继续有效!