Ответ
JWT (JSON Web Token) — это компактный и самодостаточный способ передачи информации между сторонами в виде JSON-объекта. Состоит из 3 частей:
- Header — содержит тип токена и алгоритм шифрования (например, HMAC SHA256)
- Payload — полезные данные (claims), например, user_id, срок действия
- Signature — подпись, которая проверяет подлинность токена
Пример создания JWT в Go с использованием библиотеки github.com/golang-jwt/jwt:
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"user_id": 123,
"exp": time.Now().Add(time.Hour * 24).Unix(),
})
tokenString, err := token.SignedString([]byte("secret_key"))
Преимущества:
- Стандартизированный формат
- Не требует хранения состояния на сервере
- Можно передавать в URL, заголовках или теле запроса
Недостатки:
- Если токен украден, его нельзя отозвать (до истечения срока)
- Нужно надежно хранить секретный ключ
Видео-ответы
▶
Техническое собеседование middle-PHP разработчика
▶
Собеседование на позицию Backend Developer Python + FastAPI Middle #3
▶
#18 Сеньор в 23? Собеседование Middle Backend разработчика
▶
Собеседование на Java-разработчика, вопросы для подготовки: finalize method, ArrayList, REST и SOAP
▶
Миддл притворился Джуном? Чтобы что...?? / Лайвкодинг / Техсобес Junior Python Developer
▶
Джун не знает что такое Mutex, но знает про Полиморфизм? / Лайвкодинг / Техсобес Junior Python Dev
▶
Джун пишет веб и решает задачи на LeetCode? / Лайвкодинг как в Бигтехe / Техсобес Junior Python Dev
▶
Топ-10 вопросов по Системному анализу / Собеседование с разбором ответов и материалами
▶
Мок-собеседование Junior Python developer
▶
Публичное собеседование фронтендера на Vue с компанией Timeweb Cloud