Как обновить токен после истечения срока действия в аутентификации django knox?
Я запускаю django приложение с аутентификацией по токену django knox. Я смог выполнить вход в систему с помощью этого пакета.
Но после того, как срок действия токена истек, в ответе url появляется сообщение " Invalid Token".
Я не понимаю, как обновить токен после истечения срока действия? Нужно ли мне снова входить в систему? Если да, то пользователь будет раздражен.
Как правильно это сделать?
Какая лучшая аутентификация токенов для django rest framework?
Что сработало для меня:
#setting.py
REST_KNOX = {
'TOKEN_TTL': timedelta(hours=10), #time to live (without refresh)
'TOKEN_LIMIT_PER_USER': None,
'AUTO_REFRESH': True,
'MIN_REFRESH_INTERVAL': 60 #number of seconds
}
Вы, конечно, можете изменить настройки. Если вы не укажете 'MIN_REFRESH_INTERVAL'
, это не сработает.
Преимущество knox IMOP в том, что обновление токена происходит автоматически, и вам не нужно делать это самостоятельно (в отличие от JWT, где вам нужно специально запрашивать новый токен с маркером обновления).
Это менее безопасно, чем JWT. Но плюс в том, что вам придется меньше работать на стороне клиента.