Что такое Декодер JWT?
Вставьте любой JSON Web Token, чтобы увидеть декодированные заголовок, полезную нагрузку и подпись. Проверяйте утверждения токена, контролируйте срок действия и отлаживайте проблемы аутентификации за секунды.
Декодер делит токен по точкам, выполняет Base64URL-декодирование заголовка и полезной нагрузки и парсит их как JSON. Видны алгоритм подписи (HS256, RS256, EdDSA и т. п.), все зарезервированные claims (iss, sub, aud, exp, iat, nbf, jti) и любые пользовательские claims вашего сервиса. Время в claims переводится из Unix epoch в вашу локальную таймзону, и просроченный токен сразу бросается в глаза.
Как использовать
- Вставьте JWT-токен в поле ввода — три секции в кодировке Base64 будут обнаружены автоматически.
- Просмотрите декодированный заголовок (алгоритм, тип) и полезную нагрузку (утверждения, срок действия, издатель) рядом друг с другом.
- Скопируйте отдельные декодированные секции или полный разобранный результат.
Когда использовать
- Разобраться с 401, проверив, не истёк ли exp у bearer-токена.
- Перед выкаткой в прод убедиться, что у токена со стейджа правильные aud и iss.
- Посмотреть, какие user_id или scopes сторонний SSO зашил в access token.
Результат
При отладке ошибки 401 в API вставьте Bearer-токен из заголовка запроса, чтобы проверить, не истёк ли срок в поле 'exp' и совпадает ли 'aud' с ожидаемой аудиторией.
Частые вопросы
- Проверяет ли инструмент подпись?
- Для HMAC-токенов (HS256, HS384, HS512) вставьте секрет, и инструмент проверит подпись прямо на вашем устройстве. Для RS- и ES-токенов (RS256/384/512, ES256/384/512) вставьте открытый ключ издателя в формате PEM — проверка пройдёт так же. В любом случае секрет или ключ не покидает ваше устройство.
- Безопасно ли вставлять реальный токен из продакшена?
- Декодирование выполняется на вашем устройстве, токен никуда не отправляется. Но bearer-токен сам по себе даёт доступ от имени пользователя, так что главный риск — это посторонние глаза рядом с экраном, а не сам инструмент.
- Что означает значение 'none' в поле alg?
- Раньше некоторые библиотеки принимали неподписанные токены с alg=none — это известный вектор атаки. Прод-API должен такие токены отклонять. Если вы видите 'none' в токене аутентификации — пора чинить эмитента.
- Почему exp и iat показаны числами, а не датами?
- JWT хранит таймстампы как количество секунд с 1970-01-01 UTC. Декодер дополнительно выводит читаемую локальную дату рядом с каждым claim, чтобы не считать вручную, истёк токен или нет.
- Можно ли декодировать зашифрованный токен (JWE)?
- JWE состоит из пяти частей через точку и зашифрован целиком, а не только подписан. Этот инструмент работает с JWS (три части: header.payload.signature). Для JWE нужен ключ дешифрования, который по замыслу должен оставаться только на сервере-получателе.
Похожие инструменты
Генератор PGP-ключей
Генерируйте пары ключей шифрования PGP
Защищённые заметки
Создавайте и храните зашифрованные заметки локально
Шифрование файлов
Зашифруйте файлы с помощью AES-256
Декодер SSL-сертификатов
Декодируйте и проверяйте SSL/TLS-сертификаты
Шифр Цезаря
Шифрование сдвигом с настраиваемым смещением
Генератор парольных фраз
Создавайте надёжные и запоминающиеся парольные фразы