Skip to main content
CheckTown
Инструменты разработчика

JWT-декодер: просматривайте и отлаживайте JSON Web Token онлайн

Опубликовано 5 мин чтения
В этой статье

Что такое JWT?

JSON Web Token (JWT) — это компактный токен в формате, безопасном для URL, который используется для передачи утверждений между двумя сторонами. JWT лежат в основе современных систем аутентификации и авторизации: сервер выдаёт их после входа, а клиент отправляет с последующими API-запросами для подтверждения личности.

JWT состоит из трёх частей в кодировке Base64URL, разделённых точками: заголовок (алгоритм и тип токена), полезная нагрузка (claims/данные) и подпись (проверка целостности). Подпись создаётся с помощью секретного или приватного ключа, что позволяет обнаружить подделку токена.

Как работает декодирование JWT

Декодирование JWT раскрывает его содержимое без проверки подписи — это полезно для отладки, но не для принятия решений, связанных с безопасностью.

  • Декодирование заголовка — показывает алгоритм подписи (HS256, RS256 и др.) и тип токена
  • Декодирование полезной нагрузки — раскрывает все утверждения: идентификатор пользователя, роли, время истечения и пользовательские данные
  • Проверка срока действия — вычисляет, истёк ли токен, на основе поля exp

Попробуйте бесплатно — без регистрации

Декодировать JWT-токен →

Когда использовать декодирование JWT

Декодирование JWT необходимо при разработке API и отладке.

  • Отладка API — просматривайте содержимое токена, когда запросы завершаются ошибками 401 или 403
  • Интеграционное тестирование — убедитесь, что сервер аутентификации правильно встраивает утверждения в выдаваемые токены
  • Диагностика истечения токена — быстро проверьте, не являются ли сбои аутентификации причиной устаревших токенов

Частые вопросы

Можно ли доверять содержимому декодированного JWT?

Декодирование раскрывает полезную нагрузку, но не проверяет подпись. Никогда не принимайте решения, связанные с безопасностью, на основе содержимого декодированного токена без предварительной проверки подписи с помощью правильного секретного или публичного ключа. Декодер CheckTown предназначен только для инспекции.

Что никогда не следует хранить в полезной нагрузке JWT?

Никогда не храните в полезной нагрузке JWT конфиденциальные данные: пароли, номера банковских карт или приватные ключи. JWT кодируется, а не шифруется — любой, кто перехватит токен, сможет декодировать полезную нагрузку без ключа подписи.

В чём разница между HS256 и RS256?

HS256 (HMAC-SHA256) использует единый общий секрет как для подписи, так и для проверки. RS256 (RSA-SHA256) использует приватный ключ для подписи и публичный ключ для проверки. RS256 предпочтителен в распределённых системах, где множество сервисов должно проверять токены без доступа к секрету подписи.

Похожие инструменты