Декодировать JWT-токен
Вставьте JWT-токен, чтобы просмотреть его декодированные заголовок и payload — удобно для отладки аутентификации. Обработка на 100% локально в вашем браузере (WebAssembly).
Внимание: подпись НЕ проверяется. Этот инструмент декодирует только содержимое токена (заголовок и payload), чтобы вы могли его изучить, — он ни в коем случае не доказывает, что токен подлинный. Никогда не доверяйте токену только на основании его декодирования: криптографическую проверку всегда нужно выполнять на стороне сервера.
Как это работает
JWT (JSON Web Token) состоит из трёх частей, разделённых точками: header.payload.signature. Заголовок и payload просто закодированы в Base64URL — не зашифрованы, — а значит, любой может увидеть их содержимое без ключа или пароля. Именно для этого инструмент обычно и используется: вставьте токен аутентификации, полученный от API, чтобы быстро проверить, что в нём на самом деле содержится (срок действия exp, роль пользователя, идентификатор и т. д.), во время отладки — без написания кода и без развёртывания бэкенда.
Почему токен «работает», хотя я изменил его вручную?
Потому что этот инструмент не проверяет подпись: он лишь декодирует Base64URL заголовка и payload, как любой другой инструмент для просмотра. Правильно настроенный сервер пересчитает подпись по содержимому и сравнит её с подписью из токена — изменённый payload без верного секретного ключа будет отклонён именно на этом этапе, даже если здесь он прекрасно декодируется.
Что означает поле exp в payload?
exp («expiration», срок действия) — это Unix-метка времени (секунды с 1970 года), после которой токен считается просроченным. Сервер, соблюдающий стандарт JWT, отклонит любой запрос с токеном, если текущее время превышает это значение, независимо от действительности подписи.
Конфиденциальность: декодирование выполняется целиком в вашем браузере через WebAssembly — содержимое ваших токенов, даже если в нём есть конфиденциальные данные, никогда не покидает ваше устройство.