1.方式一:使用djangorestframework-jwt

1.1 安装

pip install djangorestframework-jwt

1.2 在settings.py中增加如下配置:

c4a6c040b37ddc14ca5dc688dfb8b312.png

1.3 在项目的urls.py中增加如下配置:

588767865ecc7fb987fdd24a2fc85ca1.png

1.4 测试

请求头中不加token时,request user和request.auth的值分别是 AnonymousUser和None。

使用post请求,application/json数据格式的方式请求http://127.0.0.1:8000/token/,加入请求参数:

4f76c0876637346e6b31e9e43c871b55.png

可以获取token字符串:

"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6InRlc3QwMiIsImV4cCI6MTU1Mjc4ODEzNSwiZW1haWwiOiIxMjM0NTZAcXEuY29tIn0.v7I-NVBlCBAuTANYt-HnE0thOpip3Svy9b8pXnH49YA"

1.5 访问其他需认证的接口

携带token访问测试接口http://127.0.0.1:8000/test02/时,token在请求头中,参数的key是Authorization,value是“JWT” + 空格 + token字符串。认证成功后request user和request.auth的值分别是 用户名和token字符串。

2.方式二:使用使用jwt和BaseAuthentication

2.1 根据配置生成token:

d73a74ac61120cafa1199bf24d60bb5b.png

2.2 编写认证类:

c920c1f65849c2bb48d4f99fb6fd481a.png

2.3 调用登录接口获取token:

1119fbeef0b91351ce393cb54064b299.png

2.4 调用其他需要认证的接口:

62c221ef6378a4ae5621dfdb9cb3a2d7.png

以上就是django中登录认证的两种实现方式,第一种是使用djangorestframework-jwt自带的方式,第二种是自定义的方式。有兴趣的小伙伴欢迎私信交流。

GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐