TGViewer
Амади и проекты Амади и проекты @amadi_dev · 2.35K subscribers
Post #26 1.15K

Forwarded from Ahmadum's notes📕 (Ahmad Umaev)

📕Грокнул тему JWT (JSON Web Token)

Тема из категории "такие вещи знать надо, ты че!"☹️.

JWT состоит из 3 частей, разделенных точками:


1️⃣ head (заголовок) — сконвертированный в base64 JSON, содержащий тип токена и алгоритм подписи.
{
"alg": "HS256",
"typ": "JWT"
}


2️⃣ payload (полезные данные) — сконвертированный в base64 JSON, содержащий в себе данные, позволяющие однозначно идентифицировать пользователя, определить время жизни токена и т.д.
{
"sub": "ahmadum01",
"iat": 1516239022
}


3️⃣ signature (подпись) — вычисляется с применением алгоритма подписи, указанного в заголовке, к строке f"{head}.{body}" с секретным ключом🤫.

Выглядит эта штука примерно так:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhaG1hZHVtJ3Mgbm90ZXMifQ.4exaja18wwbmRt-u_v_cZO3sKgzJFNPJqpGVhk7HwQk


Поиграться с генерацией JWT можно тут.

А еще, по приколу, написал свой генератор JWT.

Важно понимать, что данные, передаваемые в payload, не зашифрованы и любая Ева способна их прочесть(достаточно конвертнуть base64 снова в JSON), поэтому передавать в них приватные данные нельзя🤐. Суть токена в том, что он подписан, и его нельзя подделать. То есть, не получится, перехватив чужой токен, подменить данные в payload и ходить по сервисам, как ни в чем не бывало😏.

А теперь о крутости этой штуки😎:
🚩Аутентификация, основанная на JWT, позволяет получать токен с одного сервиса и ходить с ним на любой другой сервис без надобности хранить где-то токены, достаточно раскидать секретные ключи по всем сервисам.
🚩Можно генерить различные типы JWT для одного и того же user-а, жонглируя🤹 payload-ом, например для того, чтобы ограничивать доступ к определенным ресурсам с определенного JWT.
🚩Можно создавать JWT с суперкоротким временем жизни, чтобы мстить фронтендерам👍.

Ahmadum's notes
  • 🔥 7
  • 👍 3
More from @amadi_dev
  1. Oct 9, 2026Оказывается, вышел Pi 1.0 Это опенсорсный кодинговый агент, довольно приятный. А еще у нег…
  2. Oct 8, 2026Кстати, Иса прошел в Y Combinator со своим проектом 🟩
  3. Sep 28, 2026Внимательный инженер
  4. Sep 25, 2026Тонкости голосового агента для групповой беседы 1) Важно, чтобы говорил, когда обращаются…
  5. Sep 23, 2026Сейчас в интернете много "я сделал это за 1 промпт" или "я сделал вот это за 2 часа" Снача…
  6. Sep 21, 2026Посмотрите, что такое Jev. Очень интересная модель классификации. Если прям вкратце, она о…
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 →