Используя календарь Microsoft, я пытаюсь получить маркер доступа с помощью кода авторизации, но каждый раз получаю сообщение об ошибке типа “invalid_grant”.

#oauth-2.0 #outlook #microsoft-graph-api #office365 #single-sign-on

Вопрос:

 I tried get access token from microsoft example from here https://insen.github.io/blog/2017/09/24/Azure-AAD-with-Office-365/ No matter which property I use, I always get the 400 "invalid_grant" error. Anyone can help?
    
POST: "https://login.microsoftonline.com/[tenantId]/oauth2/token"
    
Content Type: "application/x-www-form-urlencoded" 
    
Data: 
client_id: [clientId]
scope: https://graph.microsoft.com/calendars.read
code: M.R3_BAY.6c27a84e-f211-c632-9298-c97ba411256b
redirect_uri: http://localhost/myapp/
grant_type: authorization_code
client_secret: [clientSecret]
    
 

Ответ:
{
«ошибка»: «недействительный_грант»,
«error_description»: «AADSTS9002313: Недопустимый запрос. Запрос имеет неверный формат или
недействительной.»
«error_codes»: [
9002313
],
«метка времени»: «2021-08-10 12:35:00Z»,
«аргумента trace_id»: «50ba80c2-7920-48bd-aee0-cab1b5baf801»,
«correlation_id»: «44fcb62f-b5f0-41f4-b596-b4abf74c2c55»,
«error_uri»: «https://login.microsoftonline.com/error?code=9002313»
}

Комментарии:

1. (1) Проверьте маркер и посмотрите, есть ли у указанного пользователя необходимые разрешения/области и назначенные роли (2) Вы также можете протестировать приведенный выше пример потока кода аутентификации с помощью POSTMAN в примере, чтобы вы также могли изолировать проблему за пределами вашего приложения