iziznkit
Все гайды

Что такое JWT? Понятный гайд

Обновлено: 2026-08-23

JWT (JSON Web Token) — компактный самодостаточный способ передавать «утверждения» (например, кто пользователь) между двумя сторонами, подписанный так, что его нельзя подделать. Ниже — как он устроен и что делает каждая часть, плюс бесплатный декодер, чтобы заглянуть внутрь любого токена.

Декодировать JWT бесплатно

Три части

JWT — это три части Base64URL через точки: заголовок (алгоритм подписи и тип токена), payload (утверждения — sub, iat, exp) и подпись (доказывает, что токен не меняли). Секрет нужен только для подписи — заголовок и payload просто закодированы.

Закодировано, а не зашифровано

Главное, что упускают: payload читается любым, у кого есть токен — это Base64, а не шифрование. Никогда не кладите в payload пароли, секреты или чувствительные персональные данные.

Частые поля (claims)

Стандартные поля в payload:

  • sub — субъект (обычно пользователь)
  • iat — время выпуска
  • exp — время истечения
  • nbf — недействителен ранее
  • iss — издатель
  • aud — целевая аудитория

iat, exp и nbf — это Unix-метки времени, их можно перевести в читаемую дату.

Как работает подпись

Сервер подписывает заголовок и payload секретом (HMAC) или приватным ключом (RSA/EC). Любой с подходящим секретом или публичным ключом может проверить подпись — так сервер доверяет полученному токену, ничего не храня.

Когда применять JWT

Аутентификация и авторизация без состояния: после входа сервер выдаёт подписанный JWT, клиент шлёт его с каждым запросом, а сервер проверяет без обращения к базе. Держите их короткоживущими и сочетайте с refresh-токенами.

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

JWT — это безопасно?+

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

Можно ли доверять декодированному JWT?+

Декодирование только читает токен — оно не проверяет подпись. Чтобы доверять токену, нужно проверить подпись секретом или публичным ключом, которые нельзя вставлять на публичном сайте.

Почему JWT «истёк»?+

Если поле exp в прошлом, токен истёк и должен отклоняться. Переведите exp из Unix-времени, чтобы увидеть точный момент истечения.

JWT-декодер
Бесплатно, без регистрации
Декодировать JWT бесплатно