django - Django Rest Framework JWT 刷新令牌一次性使用
问题描述
我正在使用 jwt 进行身份验证,并且我希望允许刷新令牌,但似乎刷新令牌仍然无限期有效。是否有限制刷新令牌使用量的实现?我知道该字段JWT_REFRESH_EXPIRATION_DELTA
可以确定令牌的有效期,但这并不能解决当前的问题。
from rest_framework_jwt.views import obtain_jwt_token, refresh_jwt_token, verify_jwt_token
urlpatterns = [
url(r"^jwt/create/?", obtain_jwt_token, name="jwt-create"),
url(r"^jwt/refresh/?", refresh_jwt_token, name="jwt-refresh"),
url(r"^jwt/verify/?", verify_jwt_token, name="jwt-verify"),
]
解决方案
只需在settings.py文件中配置以下语句。
JWT_AUTH = {
'JWT_EXPIRATION_DELTA': datetime.timedelta(hours=1),
'JWT_ALLOW_REFRESH': True,
'JWT_RESPONSE_PAYLOAD_HANDLER': 'users.views.custom_jwt.jwt_response_payload_handler', // This is the file represents token add external values.
}
推荐阅读
- r - R - xgb.cv 之后的 xgb.importance
- python - 无法在 pybind11 中绑定重载的静态成员函数
- python - 如何将 Keras 模型安装在 CPU 的多个内核上?
- node.js - 错误:找不到模块 'ffi' 编译 ElectronJS 项目
- node.js - 反应:我们如何在单击功能中使用 Fetch 或 Axios 上传图像和输入文本
- java - 如何在虚拟机中获取注册表值
- r - R 中的 emmeans 函数出错。如何解决?
- reactjs - 如何在行数中创建一个包含不同项目的“列表”?
- sql-server - 在条件下加入创建的表
- java - 使 Graphics.drawLine 跟随鼠标而不扩展