Я выполняю аутентификацию кода аутентификации OAuth 2.0 с помощью мультитенантного приложения.
Вот мой URL авторизации:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=my_id&prompt=consent&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fauthorize&response_type=code&scope=openid+offline_access&state=17
Все идет хорошо, и я получаю auth_code. Затем я делаю запрос с этим auth_code token_url и получаю много информации, например:
- token_type
- Объем
- id_token
- access_token
- refresh_token
- expires_at
- ext_expires_in
Кажется, хорошо, но когда я делаю запрос на API с access_token, как:
https://management.azure.com/subscriptions/my_sub_id/locations?api-version=2016-06-01
с заголовками:
Content-Type:
- application/json
Authorization:
- Bearer EwBQA8l6BAAURSN/FHlDW5xN74t6GzbtsBBeBUYAAV1IHgHb4dOWblzfd/YsSuFicAMDYbua17QivnAT9/pIaeKAg3uKsK5VGqWLzjMOUQrCpd7R1RAM6RkzI0u8e4rpO7DISG7qLso5H5+U1jb+38/j1urcwlXMMxhy83ZXmdpkLXpZV+vcOV...
Он отвечает с ошибкой 401
body:
encoding: UTF-8
string: '{"error":{"code":"InvalidAuthenticationToken","message":"The access token is invalid."}}'
Если честно, я думаю, что-то не так с моим access_token. Это не похоже на JWT для меня. Документация говорит, что это выглядит так:
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCEV1Q..."
Но мой access_token выглядит так:
"access_token": "EwBYA8l6BAAURSN/FHlDW5xN74t6GzbtsBBeBUYAAZDe7JE/MPLoAi+Fr+1Xxq5eBe5N9l8Q+c4QjkY5PGEzRnBpPe7+v6h+PLdh1cceBQx+/JsB2QCrYSCt7x/zGsQAhwoY/"
Это нормально?
Вот мои разрешения для приложения:
Права доступа