Что такое JWT — JSON Web Token простыми словами
Что такое JWT (JSON Web Token): структура header.payload.signature, claims и как декодировать токен онлайн в браузере.
JWT (JSON Web Token) — это компактный формат передачи утверждений между сторонами в виде строки из трёх частей, разделённых точками: header, payload и подпись. Все три сегмента закодированы в Base64URL, поэтому токен можно безопасно передавать в URL, заголовках и cookie.
Header описывает алгоритм подписи и тип токена, payload содержит claims — например, идентификатор пользователя, время выдачи (iat) и срок действия (exp). Подпись защищает данные от подмены: её проверяют на сервере с помощью секрета или публичного ключа.
JWT часто используют для сессий и передачи прав между сервисами. Важно помнить: содержимое токена не зашифровано, поэтому не клади в него пароли и чувствительные данные. В ToolsHelper можно посмотреть header и payload без отправки токена на сервер.
Claim — именованное поле payload, например sub для субъекта и exp для срока в секундах. Header называет алгоритм. Подпись закрывает обе части, поэтому правка payload без ключа ломает подпись у настоящей проверки. Здесь определение частей. Разобрать уже имеющийся токен — задача конвертера, и он подпись всё равно не проверяет. Для черновика возьмите тестовый токен со сроком в прошлом и сверьте дату exp с конвертером времени, а не боевой токен пользователя.
Частые вопросы
JWT это шифрование?
Обычно нет: JWS подписывает, содержимое читаемо после decode.
Почему токен называют «сессией»?
Сервер может доверять claims без хранения состояния, если подпись валидна и срок не истёк.
