django_tfa là một ứng dụng Django mà thực hiện xác thực hai yếu tố dựa trên contrib.auth của Django.
One Time Token được tạo ra bằng cách sử dụng onetimepass Tomasz của (https://github.com/tadeck/onetimepass). Module này đã được bao gồm trong bản phân phối này (file: otp.py). Django_tfa sử dụng TOTPs (Time-based One Time Password) với base32 mã hóa bí mật. Nó hoàn toàn tương thích với Google Authenticator (download từ http://code.google.com/p/google-authenticator/) và các ứng dụng có thể khác.
Cài đặt
Devel:
git clone git: //github.com/lusentis/django_tfa.git
sudo python setup.py cài đặt
Ổn định:
sudo easy_install django_tfa
Setup
1. Thêm vào danh sách twofactor INSTALLED_APPS của bạn.
& Nbsp; INSTALLED_APPS = (... 'twofactor', ...)
Cơ sở dữ liệu 2. Đồng bộ hóa (tùy chọn: Nam sử dụng)
& Nbsp; # no nam:
& Nbsp; ./ manage.py syncdb
& Nbsp; # nam (được đề nghị):
& Nbsp; ./ manage.py schemamigration --initial twofactor
& Nbsp; ./ manage.py syncdb
& Nbsp; ./ manage.py di cư
1. Thêm một số cài đặt (tùy chọn, mặc định được hiển thị)
& Nbsp; từ twofactor.callbacks nhập everyone_must_have_otp
& Nbsp; TWOFACTOR_ENABLED_CALLBACK = everyone_must_have_otp
& Nbsp; TWOFACTOR_ENABLE_AT_FIRST_LOGIN = True
& Nbsp; TWOFACTOR_TOKEN_LENGTH = 32
1. Thêm đăng nhập và đăng xuất mẫu (các bạn sử dụng với contrib.auth)
2. Thêm twofactor url urls.py gốc của bạn
& Nbsp; url (r '^ đăng nhập / $', 'twofactor.views.login_view', {'template_name': 'login.html'},
& Nbsp; name = 'login'),
& Nbsp; url (r '^ đăng nhập / TFA $', 'twofactor.views.login_twofactor', {'template_name': 'login_twofactor.html'},
& Nbsp; name = 'login_twofactor'),
& Nbsp; url (r '^ đăng nhập / TFA / kích hoạt $', 'twofactor.views.twofactor_enable',
& Nbsp; name = 'login_twofactor_enable'),
Bạn cần phải thay thế hiện tại / login / url của bạn từ django.contrib.auth.
1. Thêm một số người dùng từ Django admin hoặc vỏ ./manage.py
Bugs
- Chuyển hướng sau đăng nhập không được xử lý một cách chính xác, vì vậy bạn nên có một URLPATTERN tên là "nhà" đó là nơi mà bạn muốn được reidrected sau khi đăng nhập.
- Đưa url twofactor trong một file riêng biệt (ví dụ như: twofactor.urls) phá vỡ các chức năng URLconf đảo ngược ... tại sao?
Mẫu
Clone repo này và chạy:
syncdb ./manage.py
runserver ./manage.py
và chỉ trình duyệt của bạn để http: // localhost: 8000
Yêu cầu :
- Python
- Django
Bình luận không