Azure AD получает неверную версию токена - PullRequest
0 голосов
/ 20 января 2019

Мое приложение основано на этом примере Я получаю токен в форме для входа в wpf, введите логин и пароль следующим образом:

result = await _app.AcquireTokenByUsernamePasswordAsync(Scopes, username, securePassword);

, затем я хочу получить доступ к своей защищенной сетиапи.Но когда я пытаюсь получить доступ, я получаю

AADSTS70002: Ошибка при проверке учетных данных.AADSTS500137: издатель токена не соответствует версии API: токен версии 1 нельзя использовать с конечной точкой v2.Идентификатор трассировки: 42aaa5f8-0a2c-4c3f-a593-1676fd662700 Идентификатор корреляции: efe97d3a-ca2f-4dfe-a50c-5c3f4accde9a Метка времени: 2019-01-20 15: 52: 16Z

здесь * 10121013 *

Я только что узнал, что AcquireTokenOnBehalfOfAsync предоставляет v1 или v2 для различных зарегистрированных собственных приложений.Я не могу найти разницу в настройках Azure между двумя приложениями.

Ответы [ 3 ]

0 голосов
/ 21 января 2019

Наконец-то все заработало.

Итак, что мы имеем: Собственный клиент (имя: WpfApp), веб-интерфейс (имя: WebApiApp)

Теперь мы хотим получить токен доступа, используя логин, пароль и области видимости!

Предположим, наш конфиг:

<add key="ida:AADInstance" value="https://login.microsoftonline.com/{0}/v2.0"/>
<add key="ida:Tenant" value="organizations"/>
<add key="ida:ClientId" value="xxx-xxx-xxx-xxx"/>
<add key="todo:TodoListScope" value="https://ourdomain.onmicrosoft.com/WebApiApp/access_as_user"/>

Чтобы это работало, вам нужно установить в Манифест WpfApp (не только в манифесте WebApiApp) accessTokenAcceptedVersion: 2

0 голосов
/ 21 января 2019

Я получил ту же ошибку, наконец, я понял это. Если вы добавите клиентское приложение из предварительного просмотра регистрации приложения Azure AD, оно даст вам токен доступа v1.0, я создал новый клиент, используя https://apps.dev.microsoft.com/,, он возвращает конечную точку v2.0. По крайней мере, у меня это сработало.

См. Рисунок ниже. Мое угловое приложение в конвергентных приложениях дает мне токен v2.0, а Traffic-lightapp-test в приложении Azure Ad дает мне токен v1.0

My angular app under converged applications giving me v2.0 token & traffic-lightapp-test un is giving me v1.0 token

0 голосов
/ 21 января 2019

На портале Azure Регистрация приложений (предварительный просмотр) предназначена для регистрации приложения в конечной точке v2, Регистрация приложений предназначена для регистрации приложения в конечной точке v1.

Конечная точка авторизации v1 имеет вид:

> https://login.microsoftonline.com/tenantid/oauth2/authorize?

конечная точка токена v1:

https://login.microsoftonline.com/tenantid/oauth2/token

Конечная точка авторизации v2:

https://login.microsoftonline.com/tenantid/oauth2/v2.0/authorize

Конечная точка токена v2:

https://login.microsoftonline.com/tenantid/oauth2/v2.0/token
...