Я пытаюсь понять, как аутентификация JWT не имеет гражданства. При аутентификации с отслеживанием состояния будет идентификатор сеанса. Здесь есть токен JWT, который подписан. Таким образом, сервер аутентификации выдает токен JWT, но могу ли я сказать, что проверка токена JWT в последующих запросах выполняется сервером конечной точки (сервером приложений), а не сервером аутентификации. Я считаю, что это возможно, поскольку JWT подписан с датой истечения срока действия (а также с некоторой другой информацией), а общедоступный сертификат сервера аутентификации доступен для всех серверов конечных точек.
Таким образом, сервер аутентификации будет нести ответственность только за выдачу токенов, а не за проверку. Проверка будет выполняться сервером конечной точки.
Правильно ли я понимаю? Это то, как JWT становится без гражданства? В противном случае я не вижу, чем она отличается от проверки подлинности с отслеживанием состояния, поскольку обе могут быть реализованы с использованием токенов.
При аутентификации с отслеживанием состояния централизованный сервер будет нести ответственность за выдачу токенов, а также за проверку каждого запроса.
Спасибо Джонатан. Означает ли это, что любой сервер может проверить JWT (а не только сервер выдачи)? Разве это не идея?
да. Любой, кто доверяет сертификату, которым был подписан JWT, будет доверять JWT — без необходимости спрашивать выдающий сервер.
Спасибо! Теперь понятно. Если вы добавили этот раздел ответов, я мог бы принять это как ответ (если вы добавите сейчас, я приму его). Еще раз, спасибо!





Веб-токены JSON (JWT) обозначаются как лица без гражданства, поскольку авторизующему серверу не требуется поддерживать состояние; сам токен — это все, что необходимо для проверки авторизации носителя токена.
JWT — это подписал, использующие алгоритм цифровой подписи (например, RSA), который нельзя подделать. Из-за этого любой, кто доверяет сертификату подписавшего, может безопасно доверять подлинности JWT. Серверу не нужно обращаться к серверу, выдающему токен, для подтверждения его подлинности.
Обратите внимание на этой диаграмме, что Сервер ресурсов не нужно проверять обратно с Сервер авторизации:
Source: https://jwt.io/introduction/
При аутентификации без сохранения состояния нет необходимости хранить информацию о пользователе в сеансе. Мы можем легко использовать тот же токен для получения защищенного ресурса из домена, отличного от того, в который мы вошли.
См. : https://www.jbspeakr.cc/цель-jwt-stateless-аутентификация/
выдающий сервер не должен поддерживать состояние выпущенных токенов.