Ошибка «Недостаточно прав для завершения операции» только для некоторых пользователей - PullRequest
1 голос
/ 03 июля 2019

Я пытаюсь получить в Azure AD Groups пользователя, являющегося членом:

https://graph.microsoft.com/v1.0/users/<user_id>/memberOf

Для некоторых пользователей я получаю запрошенную информацию, но для других я получаю эту ошибку:

{
    "error": {
        "code": "Authorization_RequestDenied",
        "message": "Insufficient privileges to complete the operation.",
        "innerError": {
            "request-id": "fd9345ee-ee2f-4dfb-b7e8-ca53d0c804d9",
            "date": "2019-07-03T15:50:25"
        }
    }
}

Я получаю токен, используя Client ID + Client Secret.

Приложение имеет следующие привилегии:

(Application) Groups.Read.All
(Application) Users.Read.All

Поскольку я получаю группы для некоторых участников, это выглядит такне является недостатком привилегий на уровне приложения Azure.

Не могли бы вы помочь мне в этом?

Заранее спасибо!

PS: Исправлено Caiyi Ju: "Так каквы используете поток учетных данных клиента, вам нужно предоставить Directory.Read.All permission (application). "

Ответы [ 2 ]

2 голосов
/ 03 июля 2019

Вам нужно Directory.Read.All Delegated разрешение. Вы можете проверить здесь

Посмотрите, как вы можете это сделать.

enter image description here

Delegated Directory.Read.All Разрешение

enter image description here

После добавления разрешения не нажимать кнопку Grant Consent

enter image description here

Почтовый тест:

enter image description here

1 голос
/ 04 июля 2019

Поскольку вы используете поток учетных данных клиента, вам необходимо предоставить Directory.Read.All разрешение (приложение).

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...