JWT多方式登录及自定义验证
JWT 多方面登录
用户可以以用户名、邮箱、手机号登录
手机号+密码
用户名+密码
邮箱名+密码
流程分析(post请求):
路由 -- 自动生成
视图类: -- ViewSet(ViewSetMixin, views.APIView)
序列化类: -- 重写validate方法,在这里面对用户名和密码进行校验
之前写的逻辑处理一般都是在视图类中,现在把逻辑拿到了序列化类的
validate全局钩子中,在视图函数中 就无需写逻辑了,执行到.is_valid就会执行validate方法
重点:视图类和序列化类之间交互数据的桥梁:
context={}(是1个字典)自定义用户表,登录手动签发
token,自定义的认证类认证通过,正常情况下查询得到当前登录用户
效果
用户名登录


代码
settings
urls
views
models
utils
serializer
JWT 自定义验证
authentications.py (创建认证文件)
settings.py
由于设置了所有操作都需要登录后才能访问,那登录接口无法访问得到token数据。解决如下:
携带 token 访问另一个接口:

Last updated