Эмитент в маркере доступа из azure активного каталога https://sts.windows.net, когда я ожидаю https://login.microsoftonline.com - PullRequest
3 голосов
/ 17 января 2020

Я пытаюсь проверить токен доступа, полученный из azure активного каталога.

Я получил токен из https://login.microsoftonline.com/ {{my tennant guid}} / v2 .0

однако в токене, который возвращается, выдан https://sts.windows.net// {{my tennant guid}} /, который совпадает.

Если я проверю этот конфиг в .well-known / openid-configuration эмитент, как и ожидалось, https://login.microsoftonline.com/ ....

Я обнаружил похожую проблему, о которой сообщалось в git хабе, здесь https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/560

В результате вы можете вручную отредактировать манифест json при регистрации приложения в AAD и установить "accessTokenAcceptedVersion": 2

Я сделал это, но это не имеет значения.

Я также видел подобные вопросы здесь о переполнении стека, но они связаны с различием в руководстве по аренде - здесь это не так.

Ответы [ 2 ]

1 голос
/ 18 января 2020

Похоже, что изменение acceptTokenVersion на 2 в манифесте изменилось, но для вступления в силу потребовалось время.

И да, аудитория всегда является идентификатором клиента на основе моих тестов в токенах v2.

0 голосов
/ 17 января 2020

На первый взгляд идентификатор эмитента выглядит нормально - это логический URL для представления Azure идентификатора AD.

Посмотрите на заголовок JWT и посмотрите, содержит ли он одноразовое значение. Похоже, что они всегда не проходят стандартную проверку токенов доступа.

Если это так, то использование конечных точек OAuth v1, вероятно, исправит это, хотя могут быть альтернативные решения. Стоит опубликовать скриншот (санированного) содержимого JWT.

...