PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Что такое JWT?

DOM и браузер

JWT (JSON Web Token) — это компактный самодостаточный токен для передачи информации между сторонами в виде подписанного JSON. Используется для аутентификации и авторизации.

Структура

Три части, разделённые точками: header.payload.signature (в Base64URL).

eyJhbGc...  .  eyJzdWIi...  .  SflKxwRJ...
  header         payload        signature
  • Header — алгоритм и тип ({ "alg": "HS256", "typ": "JWT" }).
  • Payload — данные (claims): sub, exp, role и др.
  • Signature — подпись header+payload секретом/приватным ключом.

Как работает

  1. Пользователь логинится → сервер выдаёт подписанный JWT.
  2. Клиент шлёт токен в заголовке: Authorization: Bearer <token>.
  3. Сервер проверяет подпись, если валидна, доверяет данным без запроса в БД (stateless).

Свойства

  • Самодостаточность — данные внутри токена, сервер не хранит сессию.
  • Подпись, не шифрование — payload читаем (Base64), но защищён от подделки подписью. Не класть секреты в payload.
  • Срок жизни (exp) — короткий access + отдельный refresh-токен.

Минусы

  • Нельзя легко «отозвать» до истечения (нужны чёрные списки/короткий TTL + refresh).

Коротко для собеседования

JWT — подписанный токен header.payload.signature (Base64URL) для stateless-аутентификации. Сервер проверяет подпись, не храня сессию. Payload читаем — секреты туда не кладут. Используют короткий access + refresh-токен; отзыв — через короткий TTL.

Подробнее: JWT — введение

Другие вопросы раздела