Azure AD: id_token как токен-носитель

У меня есть приложение, зарегистрированное в Azure AD.

Если я использую один и тот же Application ID на уровне веб-API и на уровне клиента (приложение SPA), почему обе библиотеки аутентификации Azure AD

(ADAL JS для Azure AD v1 и MSAL.js для Azure AD v2)

использовать ID token в качестве токена-носителя при вызове веб-API вместо запроса и использования access token? Разве это не противоречит спецификации?


person nomad    schedule 04.03.2019    source источник


Ответы (1)


Согласно официальной документации, и это может быть ваш случай.

«Неявный поток OAuth 2.0 в Azure AD предназначен для возврата токена идентификатора, когда ресурс, для которого запрашивается токен, совпадает с клиентским приложением. Другими словами, когда клиент JS использует ADAL JS для запроса токена для собственный серверный веб-API, зарегистрированный с тем же идентификатором приложения, что и клиент, токен идентификатора возвращается и кэшируется библиотекой. Обратите внимание, что в этом случае для ресурса должен быть установлен идентификатор приложения клиента (URI идентификатора приложения не будет работать) . Этот токен идентификатора затем можно использовать в качестве токена-носителя при вызовах API серверной части вашего приложения ".

Вы можете узнать об этом подробнее здесь!

https://github.com/AzureAD/azure-activedirectory-library-for-js/wiki/Acquire-tokens.

person Imran Arshad    schedule 04.03.2019
comment
Спасибо тебе за это. Мне все еще кажется странным, что он будет использовать токен ID в качестве токена на предъявителя. - person nomad; 05.03.2019