DT Dev Tools

Декодер JWT — декодирование и проверка подписи

Декодируйте заголовок и полезную нагрузку JWT, смотрите exp/iat как читаемые даты с меткой истечения и проверяйте подписи HS, RS, PS, ES и EdDSA локально.

🔒 Работает полностью в вашем браузере — ничего не загружается

Проверить подпись

HS256/384/512 требуют общий секрет; RS, PS, ES и EdDSA требуют открытый ключ в формате PEM (-----BEGIN PUBLIC KEY-----) или JWK. Проверка выполняется через Web Crypto в этой вкладке — не вставляйте рабочие секреты ни на одном сайте.

Был ли инструмент полезен? Оцените его:

Что делает Декодер JWT

Декодер JWT разбивает JSON Web Token на три сегмента, разделённых точками, декодирует заголовок и полезную нагрузку из base64url и выводит эти JSON-объекты в удобочитаемом виде. Он полезен при отладке потоков входа, заголовков авторизации API, обратных вызовов OAuth, поведения обновления токенов и тестов, зависящих от утверждений (claims), таких как субъект, издатель, аудитория, время выдачи и время истечения. Каждое утверждение выводится в таблице с его стандартным значением, а временные утверждения автоматически преобразуются в даты.

Инструмент также может проверять подпись. Для HMAC-токенов (HS256, HS384, HS512) нужен общий секрет, который можно вставить как обычный текст или Base64. Для асимметричных токенов (RS256, PS256, ES256, их варианты 384/512 и EdDSA) нужен открытый ключ издателя в виде блока PEM PUBLIC KEY или одного JWK с конечной точки JWKS вашего провайдера. Зелёный результат означает, что токен подписан этим ключом и не был изменён; красный — что ключ неверен или токен был подделан. Токены с alg: none помечаются как неподписанные.

Приватный рабочий процесс в браузере

Вся обработка выполняется с помощью JavaScript и Web Crypto API в браузере. Инструмент не загружает на сервер ваши токены, секреты, ключи, URL-адреса или сгенерированные значения и не требует аккаунта. Такая модель приватности важна, потому что небольшие утилиты при устранении неполадок часто получают реальные ответы API, образцы конфигураций, журналы, данные аутентификации или примеры, похожие на данные клиентов. Локальная работа снижает риск и делает инструмент мгновенным, так как нет сетевого обмена.

Как читать результат декодирования

Стандартные утверждения, которые вы будете встречать чаще всего: iss (издатель), sub (субъект), aud (аудитория), exp (время истечения), nbf (не раньше) и iat (время выдачи). Временные утверждения — это метки времени Unix в секундах; таблица утверждений показывает каждое из них как дату UTC в формате ISO 8601 и относительное время, например «in 2 hours» или «3 days ago», а строка состояния сразу сообщает, действителен ли токен, истёк ли он или ещё не вступил в силу.

Декодер ожидает ровно три сегмента, разделённых точками; всё остальное приводит к ошибке декодирования. Зашифрованные токены (JWE) состоят из пяти сегментов и не читаются без ключа, а сегмент, не являющийся корректным JSON в base64url, также вызовет ошибку. Корректная подпись доказывает, кто выдал токен, но ваше приложение всё равно должно проверять издателя, аудиторию и срок действия. Относитесь к действующим токенам как к паролям: хотя здесь ничего не покидает ваш браузер, не вставляйте рабочие токены в инструменты, которым вы не доверяете, и не публикуйте декодированный результат.

Как использовать

  1. Вставьте токенДобавьте JWT из трёх сегментов, разделённых точками; ведущий префикс Bearer игнорируется.
  2. Прочитайте утвержденияПросмотрите заголовок, полезную нагрузку, таблицу утверждений и статус срока действия.
  3. Проверьте подписьВставьте секрет или открытый ключ и нажмите Verify signature.

Часто задаваемые вопросы

Может ли он проверять подпись?
Да. Вставьте общий секрет для HS256/384/512 или открытый ключ в формате PEM или JWK для токенов RS, PS, ES и EdDSA. Проверка использует Web Crypto API браузера.
Как понять, истёк ли токен?
Декодер преобразует exp, nbf, iat и auth_time в читаемые даты UTC с относительным временем и показывает, действителен ли токен, истёк ли он или ещё не вступил в силу.
Можно ли декодировать рабочие токены?
Инструмент работает локально, но не передавайте и не сохраняйте конфиденциальные токены и никогда не вставляйте закрытые ключи — для проверки нужен только открытый ключ.