Токен Django rest_framework_simplejwt слишком быстро истекает - PullRequest
1 голос
/ 04 июля 2019

С 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 Ответ

0 голосов
/ 04 июля 2019

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

В соответствии с репозиторием django-rest-framework-simplejwt вам нужно использовать ACCESS_TOKEN_LIFETIME вместо TOKEN_LIFETIME и REFRESH_TOKEN_LIFETIME вместо TOKEN_REFRESH_LIFETIME.

...