Бесплатный декодер и отладчик JWT
Вставьте любой JSON Web Token, чтобы мгновенно декодировать его заголовок и полезную нагрузку, проверить статус срока действия и подтвердить его подпись — HS256, RS256, ES256, PS256 и другие. 100% на стороне клиента; ваши токены никогда не покидают браузер.
Что внутри JWT
Заголовок (Header)
Небольшой JSON-объект, в котором указаны алгоритм подписи (alg) и
тип токена (typ). Он только декодируется, а не шифруется — он виден любому, у кого
есть токен.
Полезная нагрузка (Payload)
Утверждения (claims) — фактические данные, например, кого представляет токен
(sub) и когда истекает его срок действия (exp). Тоже только кодируется,
никогда не относитесь к этому как к секрету.
Подпись (Signature)
Криптографическая подпись заголовка и полезной нагрузки. Это единственная часть, которая доказывает, что токен подлинный и не был изменен — и единственная часть, для проверки которой требуется ключ.
Подписано HMAC или открытым ключомЧасто задаваемые вопросы (FAQ)
Что делает декодер JWT?
Декодер JWT разделяет токен на три части — заголовок, полезная нагрузка и подпись — затем декодирует заголовок и полезную нагрузку из Base64URL, чтобы вы могли прочитать фактические утверждения и метаданные внутри, такие как используемый алгоритм, субъект и время истечения срока действия.
Является ли декодирование JWT тем же самым, что и его проверка?
Нет. Декодирование просто раскрывает читаемое содержимое токена — оно не требует секрета и ничего не доказывает о его подлинности. Проверка (верификация) сверяет подпись с секретным или открытым ключом, чтобы подтвердить, что токен подлинный и не был изменен. Любой может декодировать JWT; только тот, у кого есть правильный ключ, может его проверить.
Нужен ли мне секретный ключ для декодирования JWT?
Нет. Заголовок и полезная нагрузка JWT только кодируются в Base64URL, а не шифруются, поэтому любой может их декодировать и прочитать без какого-либо ключа. Секретный или открытый ключ нужен только для проверки подписи, а не для декодирования читаемого содержимого.
Отправляются ли данные моего токена на ваш сервер?
Нет. Этот инструмент полностью работает в вашем браузере, используя JavaScript и Web Crypto API. Ваш токен, секретный ключ и открытый ключ никуда не передаются. Вы можете убедиться в этом сами, проверив вкладку Сеть (Network) в браузере во время использования инструмента.
Могу ли я проверить токены RS256 или ES256 с помощью этого инструмента?
Да. Этот декодер поддерживает проверку подписи для алгоритмов HMAC (HS256, HS384, HS512) с использованием общего секрета, а также для алгоритмов с открытым ключом (RS256/384/512, ES256/384/512, PS256/384/512) с использованием открытого ключа в формате PEM.
Почему мой токен отображается как истекший?
JWT часто включают утверждение exp — метку времени Unix, отмечающую
момент, когда токен перестает быть действительным. Если текущее время превысило эту метку, токен
истек и должен быть отклонен любым сервером, который его проверяет, даже если сама подпись
все еще действительна.
Что означает alg: none и почему он помечается предупреждением?
Алгоритм "none" означает, что токен заявляет об отсутствии у него какой-либо подписи. Это хорошо известная уязвимость JWT — некоторые плохо настроенные библиотеки принимают такие токены как действительные без какой-либо проверки, позволяя злоумышленнику подделывать любые утверждения. Производственные системы всегда должны отклонять неподписанные токены.
Нужно создать новый секретный ключ?
Сгенерируйте новый, криптографически надежный секретный ключ JWT для подписания новых токенов — бесплатно, мгновенно и на 100% в браузере.
Перейти к генератору секретных ключей JWT