如何延长 Knox-Token 的到期时间

How can I extend expiry time of Knox-Token

我没有在我的 Django 应用程序中更改 Knox 的设置。默认过期时间是10小时,怎么改成不会过期呢

更改 REST_KNOX 上的 TOKEN_TTL 项。 基于文档。 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,
}

查看 docs 了解更多信息。

最终,我找到了答案。 "TOKEN_TTL": None 用于未到期的令牌。谢谢大家

TOKEN_TTL

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

just do

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

check the documentation