Как пользоваться
- Вставьте токен — с префиксом "Bearer " или без него. Три части выделяются разными цветами.
- Изучите декодированные заголовок и полезную нагрузку. Поля iat, nbf и exp показаны как даты с относительным временем.
- Чтобы проверить подпись, введите общий секрет для HS256/384/512 или вставьте открытый ключ (PEM или JWK) для токенов RS, PS, ES и EdDSA.
- При необходимости скопируйте декодированный JSON.
Описание параметров
- Заголовок
- Метаданные токена, обычно alg (алгоритм подписи) и typ. Поле kid указывает, каким ключом он подписан.
- Полезная нагрузка
- Поля (claims). К зарегистрированным относятся sub (субъект), iss (издатель), aud (получатель), iat (время выдачи), nbf (не ранее) и exp (истечение); все времена — в секундах Unix.
- Подпись
- Доказывает, что заголовок и полезная нагрузка не изменялись. Для проверки нужен секрет (HMAC) или открытый ключ издателя (RSA, ECDSA, EdDSA).
- Секрет закодирован в Base64
- Некоторые сервисы хранят HMAC-секреты в кодировке Base64. Отметьте этот флажок, если ваш секрет — в закодированном виде.
Основные поля (claims)
| Поле | Значение | Пример |
|---|---|---|
sub |
О ком токен (ID пользователя) | "1234567890" |
iss |
Кто его выдал | "https://accounts.example.com" |
aud |
Для кого он предназначен | "my-api" |
exp |
Время истечения, секунды Unix | 1790427600 |
iat |
Время выдачи, секунды Unix | 1790424000 |
nbf |
Недействителен до, секунды Unix | 1790424000 |
jti |
Уникальный ID токена для защиты от повторного использования | "a1b2c3" |
Пример
Токен eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c декодируется в заголовок {"alg":"HS256","typ":"JWT"} и полезную нагрузку с полями sub, name и iat (18 января 2018 г.). С секретом your-256-bit-secret подпись проходит проверку.
Часто задаваемые вопросы
Безопасно ли вставлять сюда рабочий JWT?
Токен декодируется JavaScript-кодом в вашем браузере, не загружается и не записывается в логи. И всё же обращайтесь с access-токенами как с паролями — любой, у кого есть действующий токен, может использовать его до истечения срока.
Доказывает ли декодирование, что JWT подлинный?
Нет. Заголовок и полезная нагрузка лишь закодированы в Base64URL, поэтому прочитать или подделать их может кто угодно. Только успешная проверка подписи правильным ключом показывает, что токен выдан ожидаемой стороной.
Почему проверка не проходит с правильным секретом?
Проверьте, не закодирован ли секрет в Base64, нет ли в конце пробела или перевода строки и совпадает ли алгоритм в заголовке с тем, что использует издатель. Любое изменение токена, даже в одном символе, тоже ломает подпись.
Что означает «alg none»?
Токен заявляет, что он не подписан. Серверы должны отклонять такие токены, если только явно их не ожидают; их принятие уже приводило к реальным обходам аутентификации.
Где взять открытый ключ для токенов RS256?
Провайдеры идентификации публикуют свои ключи в виде JWKS, обычно по адресу /.well-known/jwks.json. Скопируйте ключ, чей kid совпадает с заголовком токена, и вставьте его сюда как JWK.
Конфиденциальность
Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.