Встречается на 1% собеседований по Python

Как происходит аутентификация по JWT

JWT (JSON Web Token) — это стандарт для создания токенов доступа, основанный на JSON. Аутентификация происходит так:

  1. Клиент отправляет логин/пароль на сервер.
  2. Сервер проверяет данные, генерирует JWT (обычно с user_id, exp — сроком действия) и подписывает его секретным ключом (или RSA).
  3. Клиент сохраняет токен (обычно в localStorage или cookie) и отправляет его в заголовке Authorization: Bearer <token>.
  4. Сервер проверяет подпись токена и его валидность (не истёк ли срок).

Пример кода (Python, PyJWT):

python
import jwt
from datetime import datetime, timedelta

# Генерация токена
secret = "super-secret-key"
payload = {"user_id": 1, "exp": datetime.utcnow() + timedelta(hours=1)}
token = jwt.encode(payload, secret, algorithm="HS256")

# Проверка токена
try:
    decoded = jwt.decode(token, secret, algorithms=["HS256"])
except jwt.ExpiredSignatureError:
    print("Токен истёк!")

Важно: JWT не шифрует данные (если не используется JWE), а только подписывает. Для безопасности используйте HTTPS и короткие сроки жизни токенов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы