JWT декодер

Разбор header/payload JWT с проверкой срока действия

Токен вида xxx.yyy.zzz

Нашли ошибку или хотите предложить улучшение?

Улучшить калькулятор «JWT декодер»

Теория

JWT (JSON Web Token) — компактный токен из трёх частей, разделённых точками: заголовок, полезная нагрузка и подпись. Каждая из первых двух частей — JSON, закодированный в Base64URL. В заголовке указывают алгоритм подписи, в нагрузке — данные, например имя пользователя и срок действия.

Декодер разбирает токен без проверки подписи и показывает содержимое частей. Токены используют для аутентификации в веб-приложениях: сервер выдаёт подписанный токен, клиент предъявляет его при запросах.

Важно: раскодировать JWT может кто угодно — данные внутри не зашифрованы. Доверять содержимому можно только после проверки подписи, а секреты в токен класть нельзя.

Пример с решением

  1. Условие. Разберите токен «eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoi0JjQstCw0L0ifQ.подпись».
  2. Формула. Части по точкам; первые две — Base64URL-декодирование.
  3. Подстановка. Первая часть декодируется в «{"alg":"HS256"}», вторая — в «{"name":"Иван"}».
  4. Вычисление. Из второй части достаём поле name — Иван.
  5. Ответ. Заголовок: алгоритм HS256; нагрузка: имя Иван. Калькулятор с этим токеном покажет обе части в читаемом виде.

Главное

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