Что такое JWT и что показывает декодирование?
JSON Web Token — это три части в base64url, разделённые точками: header.payload.signature. Header указывает алгоритм подписи, payload содержит claims вроде sub, exp и iat, а signature подтверждает, что первые две части не изменены. Декодирование — это просто base64url-декодирование первых двух частей: его может выполнить кто угодно, и ключ для этого не нужен.
Токен, начинающийся с eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9, декодируется в header {"alg":"HS256","typ":"JWT"}. Его payload, например {"sub":"42","exp":1735689600}, показывает пользователя 42 со сроком действия до 1 января 2025 года. Третья часть — подпись: она отображается здесь, но не проверяется. Без секрета HMAC или публичного ключа RSA/ECDSA этот браузерный инструмент не может доказать подлинность подписи, поэтому никогда не считайте декодированный токен доверенным.
Как декодировать JWT
- Вставьте полный токен в поле JWT.
- Прочитайте декодированные Header и Payload в формате JSON.
- Проверьте exp и iat — они показаны как читаемые даты, а истёкший токен помечается.
- Скопируйте любую часть или очистите поле, чтобы вставить другой токен.
Частые вопросы о декодировании JWT
Инструмент проверяет подпись?
Нет. Он только декодирует и показывает header, payload и signature. Для проверки нужен секрет или публичный ключ, который этот браузерный декодер намеренно не получает.
Безопасно ли вставлять сюда токен?
Декодирование происходит целиком в браузере, ничего не загружается. И всё же не вставляйте боевые токены в онлайн-инструменты — настоящий токен это действующий ключ доступа.
Что означают exp и iat?
Оба значения — временные метки Unix в секундах: iat — когда токен выпущен, exp — когда истекает. Инструмент преобразует их в даты и помечает истёкший токен.
