JWT

Простыми словами

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

Как применяется

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

Пример применения

API получает access token, проверяет подпись, issuer, audience и exp и только после этого разрешает операцию, соответствующую заявленным правам.

Не путать с

  • OAuth 2.0OAuth 2.0 — протокол авторизации, который может использовать JWT как формат токена
  • Зашифрованный токенПодписанный JWT не обязательно зашифрован

Как это работает

  1. ВыдачаДоверенный компонент формирует набор claims, срок действия и сведения об аудитории.
  2. ПодписьЗаголовок и полезная нагрузка защищаются выбранным криптографическим алгоритмом.
  3. ПроверкаПолучатель фиксирует допустимый алгоритм и проверяет подпись, issuer, audience и время.
  4. АвторизацияПроверенные claims используются только в пределах правил конкретного приложения.

Продолжить изучение

Связанные термины

Частые вопросы

Что находится внутри JWT?

JWT — компактная строка с заголовком, набором claims и подписью либо кодом аутентификации; возможен и отдельный зашифрованный формат JWE.

JWT шифруется или только подписывается?

Нет. Обычный подписанный JWS можно декодировать без ключа, поэтому чувствительные данные нельзя помещать в payload без отдельной защиты.

Какие проверки JWT обязательны?

Нужно проверять допустимый алгоритм, подпись, issuer, audience, срок действия и другие обязательные claims, не доверяя заголовку токена без политики.

JWT (JSON Web Token) — компактный формат передачи утверждений в виде JSON-объекта, защищаемого электронной подписью или кодом аутентификации, а в отдельных вариантах — шифрованием.