Работал ли с JWT
Python
Middle
Без компании
Работал ли с JWT
Ответы
Да, работал с JWT (JSON Web Tokens). Это стандарт для создания токенов доступа, основанный на JSON. Основные сценарии использования — аутентификация и обмен данными между клиентом и сервером.
**Пример создания и верификации JWT в Python с использованием библиотеки `PyJWT`:**
```
import jwt
from datetime import datetime, timedelta
# Создание токена
secret_key = "your-secret-key"
payload = {
"user_id": 123,
"exp": datetime.utcnow() + timedelta(hours=1) # срок жизни токена
}
token = jwt.encode(payload, secret_key, algorithm="HS256")
# Декодирование и проверка токена
try:
decoded = jwt.decode(token, secret_key, algorithms=["HS256"])
print(decoded) # {'user_id': 123, 'exp': ...}
except jwt.ExpiredSignatureError:
print("Токен истек")
except jwt.InvalidTokenError:
print("Невалидный токен")
```
**Нюансы:**
- Хранение секретного ключа в безопасном месте (не в коде).
- Использование HTTPS для передачи токена.
- Ограничение времени жизни токена (`exp`).
- Выбор надежного алгоритма подписи (HS256, RS256).
- Валидация всех обязательных полей в токене.