TGViewer
Мастерская IT-решений Мастерская IT-решений @solutionstudio · 161 subscribers
Post #178 122
JWT. Коробка с секретом, в которую можно заглянуть

В прошлом посте мы остановились на том, что Stateless-токен - это "пакет" с данными, который клиент носит с собой, а сервер только проверяет его подлинность. Сегодня разберем этот "пакет" по кирпичикам и подсветим места, где инженер должен бить тревогу, глядя на дизайн системы.

🟠 Из чего сделан JWT

JWT выглядит как три длинные строки в Base64, разделенные точками:

eyJhbGciOi... .eyJzdWIiOi... .SflKxwRJS...

Это Header . Payload . Signature

〰️ Header — метаданные. «Я — JWT, подписан алгоритмом HS256». Тут же может лежать ссылка на ключ (kid), если их несколько.
〰️ Payload — смысловая часть. Здесь лежат claims (заявки/утверждения). Стандартные: sub (идентификатор субъекта), exp (время истечения), iat (время создания). И кастомные: role, userId, permissions.
〰️ Signature — криптографическая подпись. Сервер берет Header + Точка + Payload, прогоняет через алгоритм (HS256/RS256/ES256) с секретным ключом, и получает хеш. Это — "печать", доказывающая, что payload не меняли.

🔴 Разрушаем главный миф: JWT - это НЕ шифрование

Это самое важное, что мы должны понимать, глядя на JWT.

Base64Url — это кодирование, а не шифрование. Любой, кто перехватил токен, может раскодировать Header и Payload и прочитать их как обычный текст. Прямо в браузере, через atob().

Поэтому:
🔺 Никогда не кладите в payload чувствительные данные (пароли, номера паспортов, полные данные карты).
🔺 Даже внутренние идентификаторы, которые кажутся безобидными (например, internal_user_seq_id), могут раскрыть лишнее конкурентам или злоумышленникам.
🔺 Signature защищает только от подделки, но не от чтения. Это как открытка в прозрачном конверте: все видят текст, но никто не может изменить его, не разорвав печать.
  • ❤ 2
  • 👍 2
  • 🔥 2
More from @solutionstudio
  1. Sep 23, 2026Начинаем розыгрыш 1 билета на Стачку! Стачка - это шанс послушать крутых спикеров, понетво…
  2. Sep 22, 2026Привет, дорогие! Соскучились?) А я к вам с чем-то приятным. Все же знают, что скоро идём н…
  3. Aug 11, 2026Подводные камни JWT 🟣 Проблема инвалидации Это ахиллесова пята stateless-токенов. Предста…
  4. Jul 31, 2026Продолжаем мысль предыдущего поста. ❇️ Альтернатива: "Коробка с секретом" А что, если серв…
  5. Jul 28, 2026Точка входа. Почему сессия это сложно, и при чем тут токены Привет, коллеги. Сегодня вкаты…
  6. Jul 20, 2026Saint HighLoad++ 2026
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →