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

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