Что проверяет инструмент
- Header: алгоритм (alg), тип и идентификатор ключа (kid)
- Payload: все claims
- Даты exp, iat, nbf и оставшееся время
- Опасные настройки вроде «alg: none» и токенов без срока
- Проверка подписи HMAC (HS256/384/512)
Как пользоваться
- 01
Вставьте токен (начинается с eyJ…).
- 02
Header и payload раскодируются мгновенно.
- 03
Для токенов HS* введите секрет, чтобы проверить подпись.
Технические подробности
Раскодировать — не значит проверить
Header и payload JWT лишь закодированы в Base64URL, прочитать их может любой. Безопасность зависит от того, проверяет ли сервер подпись правильным ключом и алгоритмом.
Частые ошибки
Приём «alg: none», доверие алгоритму из самого токена, слабые HMAC-секреты, долгоживущие токены без exp и чувствительные данные в payload — самые частые наши находки.
Конфиденциальность
Токен и секрет остаются в браузере; проверка выполняется локально через Web Crypto API. И всё же не делитесь боевыми токенами.
Частые вопросы
Payload зашифрован?
Нет. Стандартный JWT (JWS) только закодирован. Для секретных данных используйте JWE или не кладите их в токен.
Можно проверить токены RS256 или ES256?
Пока инструмент проверяет только подписи HMAC (HS*). Для асимметричных подписей нужен открытый ключ издателя (JWKS).
Каким должен быть срок жизни токена?
Рекомендуются короткие сроки для access-токенов — минуты — и отдельные отзываемые refresh-токены.
Чем опасен «alg: none»?
Это неподписанный токен. Если сервер его принимает, любой может выпустить токен для любого пользователя или роли.