С чего начать Первые шаги трек · 15 ступеней
Linux Labs

Разбор JWT

Header и payload токена JWT, срок действия и проверка подписи секретом или ключом.

Проверка подписи
Действующий токен — это доступ: после отладки отзывай его.
Декодировано
Срок жизни
Header

    

Результат появится здесь

Payload

    

Результат появится здесь

Время в токене

Результат появится здесь

Signature

    

Результат появится здесь


Вставь токен или выбери пример

Считается в браузере, на сервер ничего не уходит

В терминале Linux

bash
TOKEN='eyJhbGciOi…' cut -d. -f2 <<< "$TOKEN" | tr _- /+ | base64 -d | jq . # payload date -d @1893456000 # exp — в дату curl -H "Authorization: Bearer $TOKEN" example.com/me # запрос с токеном

base64 -d ругается на недостающие = в конце — вывод всё равно верный.

УчтиPayload JWT не зашифрован: его прочитает любой, у кого есть токен, — не клади туда пароли и секреты.

Что внутри JWT

Три части через точку: header, payload и подпись. Первые две — JSON в base64url: их прочитает любой, у кого есть токен, поэтому пароли и персональные данные туда не кладут. Время в exp, iat и nbf — в секундах Unix.

Частые вопросы

Почему токен «истёк», хотя сервер его принимает?

Время сравнивается с часами твоего компьютера, а сервер обычно даёт запас в несколько минут. exp из 13 цифр — это миллисекунды, ошибка выпуска токена.

Что значит «подпись не совпадает»?

Токен подписан другим ключом или изменён. Для HS256 проверь секрет: лишний пробел, перевод строки или секрет в Base64 — тогда включи «Секрет в Base64».

Чем HS256 отличается от RS256?

HS256 подписывает и проверяет один общий секрет. RS256 и ES256 подписывают закрытым ключом, а проверяют открытым, который можно раздать всем.

Загрузка…