Встречается на собеседованиях • сегодня

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

Срок жизни JWT-токена определяется полем exp (expiration time) в payload-части токена. Это UNIX-временная метка, после которой токен считается недействительным.

Пример payload с exp:

json
{
  "sub": "1234567890",
  "name": "John Doe",
  "exp": 1735689600  // 1 января 2025 года
}

Важные нюансы:

  1. Сервер должен проверять exp при каждом запросе
  2. Рекомендуется устанавливать разумный срок (часы/дни, не годы)
  3. Для обновления токенов используют refresh-токены с более длительным сроком
  4. Клиент может хранить токен, но сервер решает его валидность

Пример проверки на Python (PyJWT):

python
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")
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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