TOOLING.ninja logo

Отладчик JWT

Декодируйте, проверяйте и отлаживайте JSON Web Tokens (JWT) с детальным анализом полезной нагрузки

JWT Токен
Вставьте ваш JWT токен для декодирования и анализа
Декодированный JWT
Декодированный заголовок, полезная нагрузка и подпись

Нет JWT токена для декодирования

Вставьте JWT токен выше чтобы увидеть его декодированное содержимое

Объяснение структуры JWT

JWT состоит из трех частей, закодированных в Base64-URL и разделенных точками (.): Заголовок.Полезная_нагрузка.Подпись

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Заголовок

Содержит метаданные о токене, включая алгоритм подписи

  • Алгоритм подписи (alg)
  • Тип токена (typ)
  • ID ключа (kid) - опционально

Полезная нагрузка

Содержит утверждения (заявления о сущности и дополнительные данные)

  • Стандартные и пользовательские утверждения
  • Время истечения (exp)
  • Информация о пользователе

Подпись

Используется для проверки того, что токен не был изменен и аутентификации отправителя

  • Проверка целостности токена
  • Данные не были изменены
  • Аутентификация отправителя

О JWT

Стандартные утверждения

  • issИздатель - кто создал токен
  • subСубъект - о ком токен
  • audАудитория - для кого предназначен токен
  • expВремя истечения - когда токен истекает
  • iatВыдан в - когда токен был создан
  • nbfНе ранее - когда токен становится валидным

Частые случаи использования

  • Аутентификация и авторизация
  • Безопасная передача информации
  • Единый вход (SSO)
  • Токены доступа к API
  • Проверка личности

Безопасность

Предупреждение о безопасности

JWT содержат закодированные, но не зашифрованные данные. Не включайте конфиденциальную информацию в полезную нагрузку, если не используете JWE (JSON Web Encryption).

Лучшие практики

  • Используйте сильные секретные ключи (256+ бит)
  • Устанавливайте подходящее время истечения
  • Проверяйте все утверждения на сервере
  • Используйте HTTPS для передачи токенов
  • Реализуйте правильное хранение токенов

Полезные советы

  • Проверяйте утверждение 'exp' чтобы убедиться что токены не истекли
  • Проверяйте что утверждение 'aud' соответствует вашему приложению
  • Используйте 'nbf' для реализации отложенной активации токена
  • Никогда не храните конфиденциальные данные в полезной нагрузке JWT