JWT-токен: что скрывается за «eyJhbGciOi…» и как его прочитать

4 сентября 2026 г.

Открываете инструменты разработчика, а в заголовке Authorization — Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ… Длинно, непонятно, похоже на шифр. На самом деле это JWT (JSON Web Token) — «паспорт» пользователя, который сервис выдаёт после входа. И главная особенность его в том, что содержимое можно прочитать без всяких ключей.

Три части через точку

JWT состоит из трёх блоков, разделённых точками: заголовок, набор данных (payload) и подпись. Каждый блок закодирован в base64url — разновидности Base64, безопасной для URL. Раскодируем первую часть из примера выше:

Декод заголовка
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
→ {"alg":"HS256","typ":"JWT"}

Это заголовок: токен подписан алгоритмом HS256 и является JWT. Кстати, теперь понятно, почему все JWT начинаются с «eyJ»: последовательность {" в base64url всегда даёт именно эти символы. Средняя часть — payload — расшифровывается так же и содержит данные: кто пользователь, какие у него права и до какого времени токен жив (поле exp).

Подписан — не значит зашифрован

Ключевое заблуждение: «токен же длинный и непонятный, значит, данные защищены». Нет. Payload читается любым желающим — база64 раскодируется за секунду. Подпись (третья часть) решает другую задачу: она гарантирует, что токен не подделан — сервер проверяет её своим секретным ключом. Менять содержимое бесполезно: подпись перестанет сходиться. Но читать — никто не запрещал.

Отсюда практические правила: не кладите в payload секреты (пароли, номера карт, персональные данные) — всё, что в токене, пользователь может увидеть; проверяйте exp — у токена есть срок жизни, и это хорошо; алгоритм HS256 использует один секрет у подписанта и проверяющего, RS256 — пару ключей (для микросервисов удобнее он).

Как посмотреть, что внутри токена

Вставьте токен в декодер JWT: заголовок и payload раскроются в читаемый JSON, поля exp и iat будут переведены в даты. Всё декодирование происходит в браузере — токен никуда не отправляется, что важно: токен — это как раз то, чем авторизуется пользователь. Механику base64, на которой всё это построено, мы разбирали в статье про Base64.

Увидели чужой JWT в логе или скриншоте — не паникуйте: прочитать его может каждый, а вот использовать может только владелец, пока не истёк срок. Но публиковать чужие токены всё равно не стоит.

Читайте также