Почему неявный клиентский поток демонстрационного приложения IdentityServer4 отправляет мне обратно access_token, который совпадает с id_token? - PullRequest
0 голосов
/ 27 июня 2018

Я использую вариант клиентов в памяти, определенных в ссылка IdentityServer4 демонстрационный проект , и после того, как я войду в Identity Server и получу перенаправление, URI таков, что id_token и access_token являются одинаковыми точными JWT.

Это разумное поведение? Почему вы хотите, чтобы id_token и access_token были одинаковыми? Может быть, если вас не волнует access_token?

1 Ответ

0 голосов
/ 28 июня 2018

Не уверен, что вы имеете в виду точно такой же JWT. Но и токен доступа, и токен ID могут быть токенами JWT.

Один хороший пример - поток OAuth Azure AD. Согласно документу, при успешном ответе токена возвращаются токен доступа и токен идентификатора (да, Azure действительно отправляет один для потока кода проверки подлинности OAuth) в формате JWT ( ссылка ). Но их содержание может быть разным. Например, один может быть подписанным JWT, а другой - нет.

Причина использования JWT обусловлена ​​их автономностью. Например, проверка токенов может быть легко выполнена как со стороны клиентского приложения, так и со стороны защищенного API.

Обычно, если и токен доступа, и токен ID являются JWT, они могут отличаться в зависимости от утверждений. Например, требование аудитории ("aud") может отличаться в зависимости от предполагаемой аудитории токена.

...