Django4.0 快速集成jwt
1、安装软件包
pip install djangorestframework==3.14.0 -i https://mirrors.aliyun.com/pypi/simple/
pip install djangorestframework-simplejwt==5.2.2 -i https://mirrors.aliyun.com/pypi/simple/
2、在settings.py里面注册包,并且配置参数
INSTALLED_APPS = [
# ...
'rest_framework',
'rest_framework_simplejwt',
]
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_simplejwt.authentication.JWTAuthentication',
],
}
from datetime import timedelta
SIMPLE_JWT = {
'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5), # 设置访问 token 的过期时间为 5 分钟
'REFRESH_TOKEN_LIFETIME': timedelta(days=1), # 设置刷新 token 的过期时间为 1 天
'ROTATE_REFRESH_TOKENS': False, # 是否每次使用刷新 token 时都返回新的刷新 token
'BLACKLIST_AFTER_ROTATION': False, # 是否在刷新 token 后将旧的刷新 token 加入黑名单
}
3、在路由里面使用默认的视图,获取token,访问定义好的api路由,可看到如下界面,其中输入的用户名和密码必须是后台默认user库里的,不要会找不到用户
from rest_framework_simplejwt.views import ( # type: ignore
TokenObtainPairView,
TokenRefreshView,
)
urlpatterns = [
#获取token
path('login/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
#用户刷新token
]