Почему JWT является аутентификацией без сохранения состояния? - PullRequest
1 голос
/ 27 апреля 2019

Я пытаюсь понять, как аутентификация JWT не имеет состояния.В аутентификации с сохранением состояния будет идентификатор сеанса.Здесь есть токен JWT, который подписан.Таким образом, сервер аутентификации выдает токен JWT, но я могу сказать, что проверка токена JWT в последующих запросах выполняется сервером конечной точки (сервером приложений), а не сервером аутентификации.Я полагаю, что это возможно, поскольку JWT подписан с датой истечения срока действия (а также некоторой другой информацией), и общедоступный сертификат сервера аутентификации доступен для всех серверов конечных точек.

Таким образом, сервер аутентификации будет отвечать только за выдачутокены и не валидация.Проверка будет выполняться сервером конечной точки.

Правильно ли мое понимание?Это как JWT делается без гражданства?В противном случае, я не вижу, чем она отличается от аутентификации с контролем состояния, поскольку обе могут быть реализованы с использованием токенов.

При аутентификации с учетом состояния централизованный сервер будет отвечать за выдачу токенов, а также проверку каждого запроса.

Ответы [ 2 ]

2 голосов
/ 28 апреля 2019

Веб-токены JSON (JWT) называются без состояния , поскольку серверу авторизации не требуется поддерживать состояние;сам токен - это все, что необходимо для проверки авторизации носителя токена.

JWT подписаны с использованием алгоритма цифровой подписи (например, RSA), который не может быть подделан.Из-за этого любой, кто доверяет сертификату подписавшего, может с уверенностью полагать, что JWT является подлинным.Серверу не нужно обращаться к серверу, выдавшему токен, чтобы подтвердить его подлинность.

Обратите внимание, что на этой диаграмме Resource Server не нужно возвращаться с авторизацией Сервер :

Client accessing an API server Источник: https://jwt.io/introduction/

1 голос
/ 28 апреля 2019

При аутентификации без сохранения состояния нет необходимости хранить пользовательскую информацию в сеансе.Мы можем легко использовать тот же токен для извлечения защищенного ресурса из домена, отличного от того, в который мы вошли.

См .: https://www.jbspeakr.cc/purpose-jwt-stateless-authentication/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...