Trouble with authorization using client_credentials Azure AD Graph API

Обновить

December 2018

Просмотры

4.3k раз

3

Я пытаюсь использовать OAuth client_credentialsсWindowsMicrosoft Azure. Я могу успешно генерировать , access_tokenно получить , когда я пытаюсь и доступ https://graph.windows.net/mydomain.com/users?api-version=2013-04-05я получаю 403 Forbidden.

Что я делаю неправильно? Я думаю , что я не достаточно запрос на уполномочил , access_tokenно я не могу найти / угадать другие resourceили PARAMS добавить.

Мой текущий поток

Запрос

> POST /mydomain.com/oauth2/token HTTP/1.1
> Host: login.windows.net
> Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
&client_id={client_id}
&client_secret={client_secret}
&resource=https://graph.windows.net

отклик

< HTTP/1.1 200 OK
< Content-Type: application/json; charset=utf-8
{
  "access_token": "<string>",
  "token_type": "Bearer",
  "expires_in": "<seconds>",
  "expires_on": "<timestamp>",
  "resource": "https://graph.windows.net"
}

Запрос

> GET /mydomain.com/users
>   ?api-version=2013-04-05 HTTP/1.1
> Host: graph.windows.net
> Authorization: Bearer {access_token}

отклик

< HTTP/1.1 403 Forbidden
{
  "odata.error": {
    "code": "Authorization_RequestDenied",
    "message": {
        "lang": "en",
        "value": "Insufficient privileges to complete the operation."
    }
  }
}

Примечание: Я получаю 403 Несанкционированное если я пропустить или беспорядок с {access_token}.

1 ответы

2

За мой комментарий, вы должны убедиться , что вы выбрали соответствующие разрешения от «разрешений на другие приложения» в раскрывающемся списке на портале, в противном случае доступ не предоставляется. Смотрите эту страницу в документации для получения дополнительной информации.