多语言展示
当前在线:1016今日阅读:27今日分享:41

django-admin实现2FA双因子认证的方法

django-admin实现2FA双因子认证的方法
方法/步骤
1

使用pip安装双因子认证包django_otppip install django_otp

2

使用命令创建django工程,并在工程内创建应用django-admin startproject dj2facd dj2fapython mange.py startapp fa

3

使用集成开发工具pycharm打开工程,在工程的settings.py文件添加otp及插件应用,和中间件代码如下:INSTALLED_APPS = [     'django.contrib.admin',     'django.contrib.auth',     'django.contrib.contenttypes',     'django.contrib.sessions',     'django.contrib.messages',     'django.contrib.staticfiles',     'django_otp',     'django_otp.plugins.otp_totp',     'fa.apps.FaConfig' ]  MIDDLEWARE = [     'django.middleware.security.SecurityMiddleware',     'django.contrib.sessions.middleware.SessionMiddleware',     'django.middleware.common.CommonMiddleware',     'django.middleware.csrf.CsrfViewMiddleware',     'django.contrib.auth.middleware.AuthenticationMiddleware',     'django_otp.middleware.OTPMiddleware',     'django.contrib.messages.middleware.MessageMiddleware',     'django.middleware.clickjacking.XFrameOptionsMiddleware', ]

4

生成数据库迁移文件,进行数据库迁移,为确保otp相关表生成,可以单独执行python manage.py migrate otp_totp,或进入数据库查看,创建超级用户,在工程的urls.py文件中添加代码如下:from django_otp.admin import OTPAdminSite # Register your models here. admin.site.__class__ = OTPAdminSite

5

运行服务器 python manage.py runserver,打开admin页面,效果如下:

6

已经有了otp token输入框,但是这样还进不去了,所以把前几步添加的代码注释掉,注意settings.py的installed apps不要注释。在命令行pip安装qrcode包,再使用第四步创建的超级用户进入后,在totp device中点击添加

7

注意用户这里点击放大镜来查找,选择第四步创建的超级用户。点击save,后可以查看二维码,这时候就要用到手机了,使用个app,能free扫描otp二维码码,就相当于手机上保存了动态口令key。退出登录

8

再回到程序把第六步注释的全部取消注释,再次运行服务器,再登陆时候就可以通过用户名密码加手机的动态口令登录了,大功告成,安全性大幅提升

推荐信息