Встречается на 1% собеседований по Python
Как происходит аутентификация по JWT
JWT (JSON Web Token) — это стандарт для создания токенов доступа, основанный на JSON. Аутентификация происходит так:
- Клиент отправляет логин/пароль на сервер.
- Сервер проверяет данные, генерирует JWT (обычно с
user_id,exp— сроком действия) и подписывает его секретным ключом (или RSA). - Клиент сохраняет токен (обычно в
localStorageилиcookie) и отправляет его в заголовкеAuthorization: Bearer <token>. - Сервер проверяет подпись токена и его валидность (не истёк ли срок).
Пример кода (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 и короткие сроки жизни токенов.
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы