Этот вопрос проверяет понимание устройства JWT и распространённую ошибку о “зашифрованных” данных в токене.
Все данные внутри JWT видны клиенту. JWT кодируется в Base64, а не шифруется. Любой, у кого есть токен, может посмотреть его содержимое. Поэтому в JWT нельзя класть секретные данные.
JWT часто ошибочно воспринимают как “безопасный контейнер”, хотя на самом деле он прозрачен для клиента.
JWT (JSON Web Token) — это токен, состоящий из трёх частей (header, payload, signature), где payload доступен для чтения всем.
Header
Тип токена.
Алгоритм подписи.
Payload
Пользовательские данные (claims).
Стандартные поля (sub, exp, iat).
Структура токена
Части разделены точками.
Пример payload:
{
"sub": "user_123",
"role": "admin",
"exp": 1700000000
}
Конфиденциальность данных.
Сокрытие логики авторизации.
Подпись гарантирует целостность, но не скрывает содержимое.
В JWT кладут только:
идентификаторы,
роли,
служебные флаги.
Никогда не кладут:
пароли,
токены сторонних сервисов,
персональные секреты.
JWT можно читать с любой стороны, поэтому он подходит для передачи утверждений о пользователе, но не для хранения секретных данных.