Как определяется срок жизни JWT-токена

Python Middle Без компании
Как определяется срок жизни JWT-токена
Ответы
Срок жизни JWT-токена определяется полем `exp` (expiration time) в payload-части токена. Это UNIX-временная метка, после которой токен считается недействительным. Пример payload с `exp`: ``` { "sub": "1234567890", "name": "John Doe", "exp": 1735689600 // 1 января 2025 года } ``` Важные нюансы: - Сервер должен проверять `exp` при каждом запросе - Рекомендуется устанавливать разумный срок (часы/дни, не годы) - Для обновления токенов используют refresh-токены с более длительным сроком - Клиент может хранить токен, но сервер решает его валидность Пример проверки на Python (PyJWT): ``` import jwt from datetime import datetime, timedelta # Создание токена payload = { 'exp': datetime.utcnow() + timedelta(hours=1) } token = jwt.encode(payload, 'secret', algorithm='HS256') # Проверка try: jwt.decode(token, 'secret', algorithms=['HS256']) except jwt.ExpiredSignatureError: print("Token expired") ```