Что такое JWT-токен

Python Middle Без компании
Что такое JWT-токен
Ответы
JWT (JSON Web Token) — это стандарт для создания токенов доступа, основанный на JSON. Он состоит из трех частей, разделенных точками: - **Header** — содержит тип токена и алгоритм шифрования (например, HS256 или RS256). - **Payload** — полезная нагрузка с данными (claims), например, user_id, срок действия (exp), issuer (iss). - **Signature** — подпись, созданная на основе header, payload и секретного ключа для проверки подлинности. Пример JWT: ``` eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c ``` Пример создания JWT в Python с библиотекой `pyjwt`: ``` import jwt secret = "your-secret-key" payload = {"user_id": 123, "exp": 1735689600} # exp — timestamp истечения token = jwt.encode(payload, secret, algorithm="HS256") print(token) ``` **Преимущества JWT:** - Не требует хранения состояния на сервере (stateless). - Легко проверяется подпись. - Можно передавать дополнительные данные в payload. **Недостатки:** - Нельзя отозвать без дополнительных механизмов (blacklist, short-lived токены). - Payload не шифруется по умолчанию (только кодируется в Base64).