Отладчик / декодер JWT

Вставьте любой JWT, чтобы декодировать его три части, разделённые точками: заголовок, полезную нагрузку и подпись в формате base64url. Заголовок и полезная нагрузка выводятся как форматированный JSON, а зарегистрированные утверждения (exp, iat, nbf и другие) переводятся в ваше местное время. Затем можно проверить подпись через WebCrypto API: HMAC (HS256/384/512) с секретом или RSA/ECDSA (RS256/384/512, ES256/384/512) с открытым ключом в формате PEM; для экспериментов одним щелчком доступен пример токена HS256. Всё выполняется локально: токены, секреты и ключи никуда не отправляются.
Токен JWT Формат: header.payload.signature (три сегмента base64url).
Внимание: этот токен объявляет alg:none, то есть он не подписан. Настоящие сервисы должны отклонять неподписанные токены: относитесь к нему как к недоверенному.
УтверждениеЗначениеИнтерпретация
Секрет
crypto.subtle недоступен в этом контексте, поэтому проверка подписи отключена. Откройте страницу по https: или как локальный файл, чтобы её включить. Декодирование по-прежнему работает.
Как читать результат: в заголовке обычно есть alg (алгоритм подписи) и typ. Зарегистрированные утверждения с переводом в местное время: iat (выдан), nbf (не раньше) и exp (истекает). Красный значок означает, что токен истёк, жёлтый — что он истекает в течение 24 часов. Проверка подписи вычисляет тот же MAC, что вычислил бы эмитент, либо проверяет вставленный открытый ключ RSA/ECDSA, после чего помечает токен VALID или INVALID. Проверить можно только алгоритмы, реализованные слоем WebCrypto браузера; остальные сообщаются как неподдерживаемые, а не угадываются.

Частые зарегистрированные утверждения: sub (субъект) — пользователь или сущность, к которой относится токен; в вашем примере это просто числовой ID, но сервисы часто кладут сюда email, имя пользователя или UUID. iss называет эмитента, aud — предполагаемую аудиторию, а jti — уникальный ID токена, который защищает от повторного использования. Эти утверждения не зашифрованы: их может прочитать любой, у кого есть токен, поэтому никогда не кладите пароли или секреты в полезную нагрузку JWT.

Конфиденциальность: декодирование и проверка полностью выполняются на этой странице через WebCrypto API: токен, ваш секрет и любой открытый ключ никогда не передаются. Для токена alg:none страница показывает явное предупреждение: настоящий API никогда не должен принимать неподписанные токены.