Как я могу продлить время истечения срока действия Knox-Token

#django #django-rest-framework #django-rest-knox

#django #django-rest-framework #django-rest-knox

Вопрос:

Я не изменил настройки Knox в своем приложении Django. Время истечения срока действия по умолчанию составляет 10 часов, как я могу изменить это, чтобы оно не истекло.

Ответ №1:

TOKEN_TTL

     REST_KNOX = {
       'TOKEN_TTL': timedelta(hours=10),  # default time 10h
    }
 

просто сделайте

     REST_KNOX = {
       'TOKEN_TTL': None,  # will create tokens that never expire
    }
 

проверьте документацию

Ответ №2:

Измените TOKEN_TTL элемент на REST_KNOX . Основано на документах. TOKEN_TTL Это то, как долго токен может существовать до истечения срока его действия. Токены с истекшим сроком действия автоматически удаляются из системы.

 from datetime import timedelta
from rest_framework.settings import api_settings
REST_KNOX = {
  'SECURE_HASH_ALGORITHM': 'cryptography.hazmat.primitives.hashes.SHA512',
  'AUTH_TOKEN_CHARACTER_LENGTH': 64,
  'TOKEN_TTL': timedelta(hours=10),  # default time 10h
  'USER_SERIALIZER': 'knox.serializers.UserSerializer',
  'TOKEN_LIMIT_PER_USER': None,
  'AUTO_REFRESH': False,
  'EXPIRY_DATETIME_FORMAT': api_settings.DATETME_FORMAT,
}
 

Посмотрите документы для получения дополнительной информации.

Комментарии:

1. Я просмотрел документы, но не смог найти ответ. Токен не должен истекать

Ответ №3:

В конце концов, я нашел ответ. «TOKEN_TTL»: нет для токена с истекшим сроком действия. Спасибо, все