Я пытаюсь заставить рабочий процесс OAuth2 работать правильно для Azure AD. Я следую указаниям из этого источника: https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx
Я могу успешно получить ответ с кодом авторизации, используя этот запрос:
https://login.microsoftonline.com/[app-endpoint-id]/oauth2/authorize?response_type=code&client_id=[client-id]&redirect_uri=[redirect-uri]
Затем я использую код авторизации для запроса токена доступа с постом http, например так (я проверяю это с помощью Почтальона):
POST /[app-endpoint-id]/oauth2/token HTTP/1.1 Host: login.microsoftonline.com Cache-Control: no-cache Postman-Token: ed098281-9aa4-6e5f-915d-0253d9a876d3 Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&client_id=[client-id]&code=[authorization_code]&redirect_uri=[redirect_uri]&client_secret=[client-secret]&resource=[app-url]
Я получаю следующее сообщение об ошибке из запроса POST:
{"error": "invalid_grant", "error_description": "AADSTS65001: пользователь или администратор не дал согласие на использование приложения с идентификатором "Приложение-идентификатор. Отправить интерактивный запрос авторизации для этого пользователя и ресурс. \r\nTrace ID: trace-di\r\nКорреляционный идентификатор: id корреляции \r\nTimestamp: 2016-01-13 17: 18: 39Z " "error_codes": [65001], "Timestamp":" 2016-01-13 17: 18: 39Z", "trace_id": "след-ID", "correlation_id": "Корреляция-идентификатор"}
Если я очищу свой кеш и сделаю первый запрос кода авторизации, я буду перенаправлен для входа в систему. Однако я не получу способа авторизации приложения после входа в систему, как указано в документации:
//azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/
Что я здесь не так делаю? Я пытаюсь получить токен доступа.