0

我没有更改KnoxDjango 应用程序中的设置。默认到期时间是 10 小时,我该如何更改它不会到期。

4

3 回答 3

1

更改 上的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,
}

查看文档以获取更多信息。

于 2021-02-06T11:59:06.520 回答
1

TOKEN_TTL

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

做就是了

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

检查文档

于 2021-07-16T08:53:34.127 回答
0

最终,我找到了答案。“TOKEN_TTL”:未到期令牌无。谢谢大家

于 2021-03-16T11:37:58.343 回答