Токен Django rest_framework_simplejwt слишком быстро истекает

С Django я настроил аутентификацию с JWT, используя приложение rest_framework_simplejwt.

Я полагаю, что тайм-аут по умолчанию для токена доступа составляет 1 день, и даже после явной настройки его на 1 день в файле settings.py токен больше не работает через ~10 минут, и сервер возвращает ответ 401.

settings.py:

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_simplejwt.authentication.JWTAuthentication',
        'rest_framework.authentication.SessionAuthentication',
    ),
}

SIMPLE_JWT = {
    'TOKEN_LIFETIME': timedelta(days=1),
    'TOKEN_REFRESH_LIFETIME': timedelta(days=7),
}

Я думал, что может быть проблема с настройкой времени в Django, поэтому в settings.py я поместил печать datetime.datetime.now(), который странным образом вызывается дважды во время запуска, с разницей во времени 2 часа. Тем не менее, если срок жизни токена должен составлять 1 день, он должен быть действительным, поэтому я не уверен, в чем проблема.

Есть идеи, в чем может быть проблема? Огромное спасибо заранее.

1 ответ

Решение

Вы уверены, что указали правильные названия ключей? settings.py?

Согласно репозиторию django-rest-framework-simplejwt, вам нужно использовать ACCESS_TOKEN_LIFETIME вместо TOKEN_LIFETIME а также REFRESH_TOKEN_LIFETIME вместо TOKEN_REFRESH_LIFETIME,

Другие вопросы по тегам