Об этом инструменте
jwtviewer.com декодирует токены; jwtparser их создаёт. Задайте claims, выберите алгоритм HMAC, введите секрет — и инструмент подпишет токен вживую через Web Crypto API. Удобно для тестирования API, ожидающего bearer-токен, настройки авторизации в тестах или воспроизведения бага с конкретным exp или role.
Поддерживаются только алгоритмы HMAC (общий секрет) — никогда не подписывайте здесь настоящий боевой токен и считайте сгенерированные токены только тестовыми. Всё происходит локально; секрет и payload не покидают браузер. Чтобы декодировать или проверить токен, используйте jwtviewer.com.
Подпись следует RFC 7519: инструмент формирует header {"alg":…,"typ":"JWT"}, кодирует header и payload в Base64url и считает HMAC-SHA-подпись строки header.payload с вашим секретом через Web Crypto API. HS384 и HS512 лишь используют более длинные хэши, чем HS256 — выбирайте то, что ждёт ваш бэкенд. Временные claims — exp, iat, nbf — это секунды Unix, поэтому кнопки быстрого добавления вычисляют их за вас. Три части результата подсвечены цветом, чтобы было видно, где начинаются header, payload и подпись.
Частые вопросы
Может ли инструмент создавать токены RS256?
Нет — только семейство HMAC (HS256, HS384, HS512), подписывающее общим секретом. Для RS256 нужен закрытый ключ RSA. Для тестов HMAC обычно достаточно; декодировать или проверить токен можно на jwtviewer.com.
Безопасно ли вводить здесь секрет?
Подпись выполняется целиком в браузере через Web Crypto API — секрет и payload никуда не загружаются. И всё же лучшая практика — использовать здесь одноразовые тестовые секреты и никогда не вводить настоящий боевой ключ подписи.
Как задать срок действия токена?
Claim exp — это Unix-время в секундах. Нажмите кнопку быстрого добавления — exp = +1h, +1d или +7d — или введите значение сами; при каждом изменении токен мгновенно переподписывается.
Почему мой API отклоняет сгенерированный токен?
Обычные причины: секрет не совпадает с серверным, алгоритм отличается от ожидаемого бэкендом, exp уже в прошлом, либо сервер требует асимметричный алгоритм вроде RS256. Декодируйте токен на jwtviewer.com и сравните claims.