django_rest_framework_simplejwt如何更改token的默认过期时间

书写前言

jwt的token过期时间是在settings.py中设置的,可是却不是django项目的settings.py中设置的,django项目的settings.py不会覆盖jwt的settings,因此我们需要在jwt模块中的settings.py更改过期时间

本地

找到settings.py

L:\djangoProject\publicvenv\venv\Lib\sitepackages\rest_framework_simplejwt\settings.py

这个是我本地的路径,实际上只需要这一段就够了

\venv\Lib\sitepackages\rest_framework_simplejwt\settings.py

更改配置

DEFAULTS = {
    "ACCESS_TOKEN_LIFETIME": timedelta(minutes=60),
    "REFRESH_TOKEN_LIFETIME": timedelta(days=30),
    "ROTATE_REFRESH_TOKENS": False,
    "BLACKLIST_AFTER_ROTATION": False,
    "UPDATE_LAST_LOGIN": False,
    "ALGORITHM": "HS256",
    "SIGNING_KEY": settings.SECRET_KEY,
    "VERIFYING_KEY": "",
    "AUDIENCE": None,
    "ISSUER": None,
    "JSON_ENCODER": None,
    "JWK_URL": None,
    "LEEWAY": 0,
    "AUTH_HEADER_TYPES": ("Bearer",),
    "AUTH_HEADER_NAME": "HTTP_AUTHORIZATION",
    "USER_ID_FIELD": "id",
    "USER_ID_CLAIM": "user_id",
    "USER_AUTHENTICATION_RULE": "rest_framework_simplejwt.authentication.default_user_authentication_rule",
    "AUTH_TOKEN_CLASSES": ("rest_framework_simplejwt.tokens.AccessToken",),
    "TOKEN_TYPE_CLAIM": "token_type",
    "JTI_CLAIM": "jti",
    "TOKEN_USER_CLASS": "rest_framework_simplejwt.models.TokenUser",
    "SLIDING_TOKEN_REFRESH_EXP_CLAIM": "refresh_exp",
    "SLIDING_TOKEN_LIFETIME": timedelta(minutes=5),
    "SLIDING_TOKEN_REFRESH_LIFETIME": timedelta(days=1),
    "TOKEN_OBTAIN_SERIALIZER": "rest_framework_simplejwt.serializers.TokenObtainPairSerializer",
    "TOKEN_REFRESH_SERIALIZER": "rest_framework_simplejwt.serializers.TokenRefreshSerializer",
    "TOKEN_VERIFY_SERIALIZER": "rest_framework_simplejwt.serializers.TokenVerifySerializer",
    "TOKEN_BLACKLIST_SERIALIZER": "rest_framework_simplejwt.serializers.TokenBlacklistSerializer",
    "SLIDING_TOKEN_OBTAIN_SERIALIZER": "rest_framework_simplejwt.serializers.TokenObtainSlidingSerializer",
    "SLIDING_TOKEN_REFRESH_SERIALIZER": "rest_framework_simplejwt.serializers.TokenRefreshSlidingSerializer",
}

详细配置情况可以看这个官方文档Settings — Simple JWT 5.2.2.post30+gfaf92e8 documentation (django-rest-framework-simplejwt.readthedocs.io)

服务器

找到settings.py

我是在宝塔面板里面部署的项目,那么关键的问题就是,我去哪里才能找到,宝塔项目把requirements里面的包下载到了哪里?

image-20231102210324538

利用Python项目管理器创建项目的时候会自动在项目根目录生成一个venv文件夹(前面有一堆字符的这个),Python的包都下载到了这里

bd83ca6cc23aeab97630bfebbc8d5a84_venv/lib/python3.9/site-packages

按照这个路径来,你要找的的包都在这里

在这里面找到rest_framework_simplejwt\settings.py就好了

更改配置

同上

原文链接:django_rest_framework_simplejwt如何更改token的默认过期时间 | DaoXuan

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值