JWT: шифрование/дешифрование
Декодирование · Подпись · Проверка · Локальная безопасность
JWT: шифрование/дешифрование
Готово
ABOUT
О JWT
Отладка JWT: декодирование Header/Payload, локальная подпись тестовых token, проверка signature.
401 Unauthorized, invalid signature, token expired — JWT часто в тикетах API-интеграции. Локальный decode/verify без компрометации production-ключей.
DEEP DIVE
Подробнее о JWT
JWT (JSON Web Token): Header, Payload, Signature — три сегмента Base64URL через точку. JSONSort декодирует первые два в JSON, локальная подпись/проверка HS256/RS256 — ключи и token не покидают браузер.
OAuth 2.0, OpenID Connect, межсервисная auth — JWT повсеместно. Частые проблемы: exp, issuer, signature, отсутствующие claims.
Header объявляет alg; Payload — exp/iat/nbf. Decode не проверяет signature — Payload читают все; не храните пароли и PII. Verify подтверждает целостность и подпись.
FEATURES
Ключевые возможности
Декодирование token
Вставьте JWT — Header и Payload как форматированный JSON.
Локальная подпись
Payload и secret — signed JWT для тестов.
Проверка signature
Проверка signature; HS256 и RS256.
Подсветка claims
exp, iat, sub и другие стандартные claims.
Безопасность ключей
HMAC secret и RSA private key только в локальном JavaScript.
Мгновенная обратная связь
При изменении token или ключа — сразу decode/verify.
Три панели
Header / Payload / Signature отдельно — структура JWT наглядна.
Индикатор истечения
exp сравнивается с текущим временем — статус срока действия.
HOW TO USE
Шаги использования
-
1
Вставьте JWT — автодекодирование
-
2
Или Payload и secret для подписи/проверки
-
3
Копируйте результат — ключи в браузере
-
4
Secret и алгоритм (HS256 / RS256) должны совпадать с issuer
-
5
После отладки очистите тестовые secret и token
WORKFLOW
Типичный workflow
Полный цикл — унификация JWT в команде.
Вставьте token
Из Authorization header, Cookie или логов.
Проверьте claims
sub, aud, exp, roles и др. — соответствие ожиданиям.
Verify (опционально)
Secret или PEM public key для проверки Signature.
Подпись тестового token
Измените Payload и подпишите локально — unit-тесты или mock gateway.
USE CASES
Сценарии использования
Backend-разработка
Отладка auth middleware; проверка структуры подписанного token.
Frontend-разработка
Разбор roles/permissions в Access Token.
Security engineer
Аудит чувствительных claims и алгоритма подписи.
Full-stack интеграция
id_token и access_token в OIDC login flow.
Identity-инженер
Различия claims между OIDC id_token и access_token.
Мобильные приложения
Структура refresh token в приложении (не verify на production).
TIPS
Советы
- Сначала exp — большинство 401 из-за истечения.
- RS256 verify — PEM public key; HS256 — shared secret.
- Production-ключи не в онлайн-инструментах — JSONSort локально безопаснее.
- В тестовом payload не используйте реальные PII.
- alg в Header должен совпадать с алгоритмом verify.
- Payload после decode — в Formatter для правки claims и повторной подписи.
- Уберите Bearer — только три сегмента с eyJ.
- Clock skew: расхождение времени сервера и клиента — свежий token может казаться expired.
- RS256 public key в PEM с BEGIN PUBLIC KEY.
- После отладки очистите localStorage session от тестовых token.
LOCAL VS ONLINE
Локально vs онлайн-инструменты
JSONSort — чистый frontend: почему локальные инструменты лучше для dev-данных.
TROUBLESHOOTING
Типичные ошибки и решения
Частые проблемы и рекомендации — меньше проб и ошибок.
invalid signature
Совет:Secret не совпадает или alg другой; проверьте HS256 vs RS256.
token expired
Совет:Проверьте exp; для отладки подпишите token с большим ttl.
Malformed token
Совет:Три сегмента через .; Base64URL без лишних пробелов.
Ошибка verify по public key
Совет:Ошибка PEM; проверьте JWKS public key для iss.
FAQ
Частые вопросы
Ключи загружаются на сервер?
Нет. Подпись и verify полностью в Web Crypto / JS браузера.
Поддерживается RS256?
HS256 и RS256. ES256 и др. — возможное расширение.
Можно декодировать без ключа?
Header и Payload — без ключа. Verify signature требует ключ.
Истёкший token можно декодировать?
Да. Decode не ограничен exp; exp влияет только на приём сервером.
Decode равно проверке личности?
Нет. Decode только читает; verify подтверждает доверие.
Поддерживается encrypted JWT (JWE)?
Сейчас JWS (signed JWT). JWE — отдельные инструменты расшифровки.
Данные уходят на сервер?
Нет. Все инструменты JSONSort работают локально в браузере.
Нужна регистрация или установка?
Нет. Откройте страницу — без аккаунта и клиента; поддержка PWA offline.
Какой максимальный размер файла?
Зависит от памяти браузера; обычно несколько MB. Огромные — разбейте или используйте merge/очистку.