Токен 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
,