【发布时间】:2021-05-10 13:25:25
【问题描述】:
我没有在我的 Django 应用程序中更改 Knox 的设置。默认过期时间是 10 小时,如何更改它不会过期。
【问题讨论】:
标签: django django-rest-framework django-rest-knox
我没有在我的 Django 应用程序中更改 Knox 的设置。默认过期时间是 10 小时,如何更改它不会过期。
【问题讨论】:
标签: django django-rest-framework django-rest-knox
TOKEN_TTL
REST_KNOX = {
'TOKEN_TTL': timedelta(hours=10), # default time 10h
}
只是做
REST_KNOX = {
'TOKEN_TTL': None, # will create tokens that never expire
}
【讨论】:
最终,我找到了答案。 “TOKEN_TTL”:未到期令牌无。谢谢大家
【讨论】:
更改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 了解更多信息。
【讨论】: