Сделать JWT (Jason Web Token) дольше или другие альтернативы для приложения Flutter - PullRequest
0 голосов
/ 28 июня 2019

У меня есть серверная часть django, которая использует Django Rest Framework.У меня настроены Django Rest API, специфичные для каждого пользователя.Затем я также использую веб-токены Jason, чтобы иметь возможность аутентифицировать пользователей через мой мобильный интерфейс Flutter.

Затем я использую токен, который я получаю при входе в систему при каждом запросе, который прекрасно работает!Моя проблема в том, что когда токен заканчивается, пользователь должен снова войти в систему, чтобы все это заработало.

Можно ли как-нибудь заставить веб-токены Jason работать дольше стандартного времени, равного примерно 5 минутам ???

Код токена в Django:

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

Различные URL-адреса (также URL-адрес get-token):

urlpatterns = [
  path('admin/', admin.site.urls),
  path('project/', include('project.urls')),
  path('studyplan/', include('studyplan.urls')),
  path('get-token/', TokenObtainPairView.as_view()),
  path('refresh-token/', TokenRefreshView.as_view())
]

1 Ответ

0 голосов
/ 28 июня 2019

Взгляните на официальную документацию: https://github.com/davesque/django-rest-framework-simplejwt
Для этого существует специальная конфигурация.

SIMPLE_JWT = {
    'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5)
}

ACCESS_TOKEN_LIFETIME Объект datetime.timedelta, который указывает, как долго действительны токены доступа. Это значение timedelta добавляется к текущему времени UTC во время генерации токена, чтобы получить значение претензии токена по умолчанию "exp".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...