django电话登录:使用otp登录

django-phone-login的Python项目详细描述


build-status-imagepypi-version

django电话登录

django电话登录使用django send sms发送短信。

django phone login提供电话号码登录,无需附加 要记住的密码。这是扩大客户群的一个简单方法。 没有任何麻烦。

安装django电话登录

django手机登录是为django创建的。

pypi,使用pip安装:

pip install django-phone-login

如果要手动安装:

git clone git@github.com:wejhink/django-phone-login.git
cd django-phone-login/
pip install -r requirements.txt
python setup.py install

说明

INSTALLED_APPS+=[...# Make sure to include the default installed apps here.'phone_login','rest_framework','rest_framework.authtoken',]REST_FRAMEWORK={'DEFAULT_AUTHENTICATION_CLASSES':('rest_framework.authentication.BasicAuthentication','rest_framework.authentication.TokenAuthentication',)}AUTHENTICATION_BACKENDS=['phone_login.backends.phone_backend.PhoneBackend','django.contrib.auth.backends.ModelBackend']# Make sure you also have backend Django Templates and APP_DIRS True, if you want to use default OTP Template.TEMPLATES=[{'BACKEND':'django.template.backends.django.DjangoTemplates','APP_DIRS':True,...},]# Configure the SENDSMS_BACKEND (for django-sendsms integration)SENDSMS_BACKEND='myapp.mysmsbackend.SmsBackend'#(defaults to 'sendsms.backends.console.SmsBackend')SENDSMS_FROM_NUMBER="+XXxxxxxxxxxx"SENDSMS_ACCOUNT_SID='ACXXXXXXXXXXXXXX'SENDSMS_AUTH_TOKEN='xxxxxxxx'

添加到url

添加下面的urls.py

urlpatterns=[url(r'^phone_login/',include('phone_login.urls',namespace='phone_login'),),]

设置中可自定义的字段。

PHONE_LOGIN_ATTEMPTS=10PHONE_LOGIN_OTP_LENGTH=6PHONE_LOGIN_OTP_HASH_ALGORITHM='sha256'

流量

  1. 用户输入phone_number并发送请求以生成 secret code
  2. django-phone-login以短信形式向手机发送secret_code。 号码。
  3. 用户发送secret_code到服务器进行验证。
  4. django-phone-login验证并使用发送token作为响应 DRF3

为什么使用django电话登录?

  • 电话号码登录,无需密码。
  • 通过电话号码注册。
  • 基于移动的用户身份验证。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Hibernate:合并并删除,而不是从数据库中删除实体对象   java如何在WebFilter中有条件地从Mono返回?   java调用mysql c3p0函数   可执行jar Java jar文件加载错误:无法找到或加载主类。类导致的错误:java。lang.ClassNotFoundException:某些东西。班   java如何减少/更改爬网后的延迟?   从其他语言(如Java、PHP、Perl、Python等)调用C/C++代码的最佳方式是什么?   java如何模拟影响对象的void返回方法   当我试图在ubuntu上启动JavaScala时,它抛出了一个异常   java如何正确输出游戏   理解java和C++背景下的JavaScript原型   oracle如何将Java函数转换为postgresql函数   多线程为什么我的java服务器程序在超时后不退出?   java如何使listView中的按钮在单击时工作?   试图将这个嵌套的java forloop转换为python,但我不知道如何转换。有没有一种方法可以像这样为循环执行if语句?   java幂函数在计算器中的应用   如何在java中滚动浏览mysql数据库   在Spring Boot应用程序的JUnit测试中,java没有符合自动连线JPA存储库要求的bean   java如何使用扩展类的JPanel对象?