Декодер JWT
Декодируйте, проверяйте и переподписывайте JWT-токены мгновенно — полностью в вашем браузере.
Создайте и подпишите JWT с нуля прямо в браузере. Ключи не покидают эту страницу.
Как работает декодирование JWT на стороне клиента — и почему это важно
JSON Web Token выглядит как нечитаемый набор символов, но на самом деле это всего лишь три части, закодированные в Base64URL и соединённые точками: заголовок, полезная нагрузка и подпись. Декодирование заголовка и полезной нагрузки — это вовсе не шифрование: любой, у кого есть токен, может прочитать содержащиеся в нём claims, и именно поэтому конфиденциальные данные никогда нельзя помещать в полезную нагрузку JWT. Проблема в том, что токены, которые нужно проверить, редко бывают одноразовыми тестовыми данными. Чаще всего это боевой токен сессии из продакшен-приложения, токен доступа к API или cookie авторизации, скопированный прямо из инструментов разработчика в браузере во время отладки — то есть настоящие учётные данные, которые в чужих руках открывают реальный доступ. Вставив такой токен на случайном сайте, вы фактически передаёте свою сессию серверу, о котором ничего не знаете.
Этот инструмент никогда так не делает. Заголовок и полезная нагрузка декодируются обычным JavaScript прямо в вашем браузере в момент вставки токена — строка разбивается по точкам, декодируется из Base64URL и разбирается как JSON, — и ничего из этого никуда не передаётся. Проверка подписи работает так же: с помощью встроенного в каждый современный браузер Web Crypto API (`SubtleCrypto`) алгоритмы HMAC (HS256, HS384, HS512) проверяются по секрету, который вы вводите, а алгоритмы RSA (RS256, RS384, RS512) — по публичному ключу, который вы вставляете в формате PEM. И криптографический секрет, и сама проверка остаются локально, в пределах вкладки; обновите страницу — и токен, секрет и ключ бесследно исчезнут.
Вставьте токен — и увидите его заголовок и полезную нагрузку в отформатированном виде, а также значения стандартных claims `exp`, `iat` и `nbf`, преобразованные в удобочитаемую дату, с наглядным бейджем «Истёк», если `exp` токена уже прошёл — удобно, чтобы быстро проверить, не является ли жалоба «меня разлогинило» просто следствием истёкшего токена. Если алгоритм — HS256/384/512 или RS256/384/512, введите соответствующий секрет или публичный ключ, чтобы узнать, подлинна ли подпись или токен был подделан. Алгоритмы за пределами этого списка (например, ES256 или неподписанный `none`) по-прежнему корректно декодируются, но проверка подписи для них не предлагается — вместо того чтобы выдавать недостоверный результат. Для локальной разработки редактируемые поля заголовка и полезной нагрузки позволяют изменить какой-либо claim — например, ID пользователя или роль — и переподписать токен тем же HS256-секретом, который использует ваш тестовый сервер: это распространённый способ проверить логику авторизации, не поднимая полноценный флоу входа в систему.
Поскольку после декодирования полезная нагрузка JWT — это обычный читаемый JSON, этот инструмент хорошо сочетается с JSON Formatter & Validator, если вам нужно внимательнее изучить глубоко вложенный claim. Стоит повторить одно важное замечание о безопасности: поскольку для декодирования не требуется вообще никакого секрета, относитесь к любому токену как к конфиденциальным данным сразу после того, как закончите его изучать, и обновляйте учётные данные, которые изначально задумывались как краткоживущие, если не уверены, где ещё этот токен успел побывать до того, как попал сюда.
Часто задаваемые вопросы
Может ли инструмент проверять подпись JWT, а не только декодировать его?
Да — поддерживается проверка подписей HMAC (HS256/384/512) и RSA (RS256/384/512).
Отправляется ли мой токен или секрет куда-либо?
Нет — декодирование, проверка и повторная подпись выполняются локально в браузере через Web Crypto API.
Можно ли изменить полезную нагрузку и создать новый подписанный токен?
Да — измените JSON заголовка и полезной нагрузки и подпишите заново секретом HMAC, чтобы получить новый токен.
Похожие инструменты
- Форматирование и проверка JSON
- Генератор QR-кода
- Кодировщик/Декодировщик Base64
- Тестер регулярных выражений
- Выбор цвета и генератор палитр
- Конвертер CSV ↔ JSON
- Конвертер JSON в Excel
- Валидатор конфигурации Nginx
- Валидатор YAML Kubernetes
- Форматирование и проверка SQL
- Форматирование кода
- Проверка стандартов ISO