文章目录
jwt使用包:djangorestframework-simplejwt
安装使用
pip install djangorestframework-simplejwt
配置
- 在Django settings中配置后端
REST_FRAMEWORK = {
...
'DEFAULT_AUTHENTICATION_CLASSES': (
...
'rest_framework_simplejwt.authentication.JWTAuthentication',
)
...
}
SIMPLE_JWT = {
# 配置jwt有效期
'ACCESS_TOKEN_LIFETIME': timedelta(days=1),
}
- 根据相应的配置,在路由当中引入(路由改成自己的路径)
jwt包实现登陆业务逻辑(深入包的源码)
校验数据
我们 ctrl + b 进入源码,发现实现登陆的视图,就在这里,也具有一个 序列化器,帮助我们实现 对前端post的请求传递的数据进行处理,序列化与反序列化
- 我们进入序列化器:这里就是提供了验证数据的功能
- 将返回上面的两个数据 refresh和 ‘access’
自定义返回结果
自定义视图和序列化器继承自上面两个。 然后 多加入自己想要返回的数据就可以了
获取数据
- 前面说过是 前端是发送POST请求,那么处理post请求是谁?我们注意到继承了一个类,就是它了,看它的源码:
这里具有处理请求的方法。他调用的序列化器,就是上面提到的序列化器。
内部验证还是使用 authenticate
重写这个方法就可以自定义验证了(前面讲过)。