Лаборатория кодера

Инструмент

Разбор JWT

Декодирует заголовок и полезную нагрузку JSON Web Token, переводит exp, iat и nbf в понятные даты и показывает, истёк ли токен. Подпись не проверяется.

Работает в браузере, данные никуда не отправляются

Заголовок
Данные
Сроки и известные поля

Из чего состоит JWT

Три части через точку: заголовок.данные.подпись. Первые две — JSON в кодировке Base64URL, их может прочитать кто угодно. Подпись подтверждает, что данные не меняли после выпуска, и проверить её может только тот, у кого есть ключ.

Поэтому в токен нельзя класть секреты. А то, что токен удалось декодировать, ничего не говорит о его подлинности: этот инструмент только показывает содержимое.

Стандартные поля (RFC 7519)

ПолеЧто значит
issкто выпустил токен
subо ком токен, обычно идентификатор пользователя
audдля какого сервиса предназначен
expмомент истечения, секунды Unix
nbfне действует раньше этого момента
iatкогда выпущен
jtiуникальный номер токена, чтобы его можно было отозвать

Что проверить на сервере

  • Алгоритм берётся из настроек сервера, а не из поля alg токена. Токен с "alg": "none" должен отклоняться.
  • Нельзя путать алгоритмы: открытый ключ RS256 не должен приниматься как секрет HS256.
  • Проверяются exp, nbf, iss и aud с небольшим допуском на расхождение часов, обычно до минуты.