django+framework+Vue第六天 用户登录和手机注册

这篇博客记录了作者使用Django框架和Vue进行用户登录、手机注册的学习过程,涉及JWT认证的实现。首先介绍了Django自带的token认证及其缺点,然后详细讲解了JWT的安装、配置和使用。接着,讨论了Vue中如何与JWT接口配合,特别是针对手机登录的自定义验证。最后,提到了云片网发送短信验证码的集成以及Django信号量在用户注册时的应用,确保密码的安全存储。
摘要由CSDN通过智能技术生成

新人学习django 是按照这个大佬的教程学习的
链接: https://www.cnblogs.com/derek1184405959/p/8733194.html.

很多步骤都是按照上面的教程学习的,这里只是记录一下自己学习的过程和一些错误
如果有人想要系统的学习,建议去上面那位大佬处学习

1.drf自带的token
(1)INSTALL_APP中添加

INSTALLED_APPS = (
    ...
    'rest_framework.authtoken'
)

token会生成一张表authtoken_token,所以要运行python manage.py makemigrations
python manage.py migrate
在这里插入图片描述
(2)配置url

from rest_framework.authtoken import views


urlpatterns = [
   # drf自带的token认证
   path('api-token-auth/', views.obtain_auth_token)
]

postman发送数据
先创建一个superuser
python manage.py createsuperuser
然后再用postman发送数据
发送给http://127.0.0.1:9000/api-token-auth
图片中是弄混了
在这里插入图片描述
然后会返回token的值

drf的token缺点

保存在数据库中,如果是一个分布式的系统,就非常麻烦
token永久有效,没有过期时间。

2.json web token 方式完成用户认证

(1)安装jwt
使用方法
http://getblimp.github.io/django-rest-framework-jwt/

pip install djangorestframework-jwt

(2)配置

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.BasicAuthentication',
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
    )
}

(3)配置url

 # jwt的token认证接口
    path('login/', obtain_jwt_token )

(4)postman发送数据
在这里插入图片描述
3.vue和jwt接口调试
vue中的登录接口

//登录
export const login = params => {
  return axios.post(`${local_host}/login/`, params)
}

接口更改完成
登录
在这里插入图片描述

jwt接口它默认采用的是用户名和密码登录验证,如果用手机登录的话,就会验证失败,所以我们需要自定义一个用户验证

自定义用户认证
settinds中配置

AUTHENTICATION_BACKENDS = (
    'users.views.CustomBackend
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值