Использование конечной точки токена версии 2 по-прежнему дает токен версии 1: Azure Active Directory
Я создал новую регистрацию приложения и установил области для Application.Read.All и User.Read.All. Я представил одну пользовательскую область как access_as_user. Использование конечной точки токена v2 по-прежнему дает токены v1, что сейчас является основной проблемой.
Конечная точка токена v1:https://login.microsoftonline.com/tenantid/oauth2/token
Конечная точка токена v2:https://login.microsoftonline.com/tenantid/oauth2/v2.0/token
Обе конечные точки выдают токены одной и той же версии, т. е. версии 1.0 Почему так? Если я зарегистрировал мультиарендные приложения, то он дает токены версии 2.0 с обеих конечных точек.
Мое требование — получить токены версии 2.0 для приложений с одним арендатором. Любой способ добиться этого?
1 ответ
Я попытался воспроизвести то же самое в своей среде и получил следующие результаты:
Я зарегистрировал одно приложение клиента и предоставил разрешения API, как показано ниже:
Когда я проверил манифест этого приложения, принятая версия токена равна нулю, как показано ниже:
Я сгенерировал токен для пользовательской области, используяv2.0
конечная точка токена через Postman, как показано ниже:
POST https://login.microsoftonline.com/<tenantID>/oauth2/v2.0/token
grant_type:client_credentials
client_id:<appID>
client_secret:<secret>
scope: api://xxxxxxxxxxxxxxxxxxx/.default
Ответ:
Когда я декодировал указанный выше токен в jwt.ms , версия токена была 1.0 , как показано ниже:
Чтобы получить токен версии 2.0 , вам нужно изменить манифест вашего приложения, как показано ниже:
Когда я снова сгенерировал токен и расшифровал его, я получил версию токена 2.0 , как показано ниже:
В вашем случае изменитеaccessTokenAcceptedVersion
на 2 в файле вашего манифеста и снова сгенерируйте токен.