Начать Добавить сайт

Декодер JWT

Developer Tools

Вставьте JSON Web Token, чтобы прочитать заголовок, payload и точный срок действия: всё декодируется локально, токен не передаётся.

Ваши данные

Все инструменты

Вставьте весь токен из трёх частей, включая обе точки.

Результат

Статус —
  • Срок действия —
  • Алгоритм —
  • Тип токена —
  • Полезная нагрузка —
  • Заголовок —

Измените любое значение — результат обновится сразу.

Формула и правила

  • JWT состоит из трёх частей Base64URL, разделённых точками: заголовок, полезная нагрузка и подпись.
  • Base64URL заменяет + на - и / на _, а также убирает заполнение =, чтобы токены корректно передавались в URL и HTTP-заголовках.
  • Утверждение exp — это Unix-время в секундах, поэтому токен считается истёкшим, когда текущее время превышает это число.
  • Декодирование только читает две JSON-части; оно не проверяет подпись, которую должен проверять сервер.

Примеры расчётов

Декодировать демо-токен

Ввод Предзаполненный токен, exp = 1700003600.

Результат Алгоритм HS256, тип JWT, четыре утверждения, срок действия 2023-11-14 23:13:20 UTC.

Токен без exp

Ввод Полезная нагрузка {"sub":"42","scope":"read"}.

Результат Статус сообщает, что у токена нет утверждения о сроке действия, поэтому он сам по себе никогда не истекает.

Усечённый токен

Ввод abc.def

Результат Ошибка объясняет, что JWT должен состоять из трёх частей, прежде чем что-либо можно будет декодировать.

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

Доказывает ли декодирование подлинность токена?

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

Безопасно ли вставлять рабочий токен?

Декодирование происходит в вашем браузере, поэтому токен не загружается. Тем не менее обращайтесь с ним как с паролем: предпочитайте тестовый токен и меняйте всё, что вставляете на общий экран.

Почему новый токен уже просрочен?

Либо часы издателя отстают от ваших, либо значение exp передано в миллисекундах вместо секунд. Этот инструмент читает exp в секундах в соответствии со спецификацией JWT.

Что если заголовок или полезная нагрузка не являются JSON?

Декодер сообщает об ошибке. Спецификация JWT требует, чтобы обе части были JSON-объектами в кодировке base64url, поэтому не-JSON часть обычно означает, что строка вовсе не является JWT.

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