django_tfa adalah aplikasi Django yang mengimplementasikan otentikasi dua faktor berdasarkan contrib.auth Django.
One Time Token dihasilkan menggunakan onetimepass Tomasz ini (https://github.com/tadeck/onetimepass). Modul ini sudah termasuk dalam distribusi ini (file: otp.py). Django_tfa menggunakan TOTPs dengan base32 dikodekan rahasia (One Time Password berbasis waktu). Ini sepenuhnya kompatibel dengan Google Authenticator (download dari http://code.google.com/p/google-authenticator/) dan aplikasi lainnya mungkin.
Instalasi
Devel:
git clone git: //github.com/lusentis/django_tfa.git
sudo python setup.py install
Stabil:
sudo easy_install django_tfa
Pengaturan
1. Tambahkan twofactor ke daftar INSTALLED_APPS Anda.
& Nbsp; INSTALLED_APPS = (... 'twofactor', ...)
2. Database Sync (opsional: gunakan selatan)
& Nbsp; # no selatan:
& Nbsp; ./ manage.py syncdb
& Nbsp; # selatan (direkomendasikan):
& Nbsp; ./ manage.py schemamigration --initial twofactor
& Nbsp; ./ manage.py syncdb
& Nbsp; ./ manage.py bermigrasi
1. Tambahkan beberapa pengaturan (opsional, default akan ditampilkan)
& Nbsp; dari twofactor.callbacks impor 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. Tambahkan login dan logout template (yang sama yang Anda gunakan dengan contrib.auth)
2. Tambahkan twofactor url ke urls.py akar Anda
& Nbsp; url (r '^ login / $', 'twofactor.views.login_view', {'TEMPLATE_NAME': 'login.html'},
& Nbsp; nama = 'login'),
& Nbsp; url (r '^ login / TFA $', 'twofactor.views.login_twofactor', {'TEMPLATE_NAME': 'login_twofactor.html'},
& Nbsp; nama = 'login_twofactor'),
& Nbsp; url (r '^ login / TFA / mengaktifkan $', 'twofactor.views.twofactor_enable',
& Nbsp; nama = 'login_twofactor_enable'),
Anda harus mengganti yang ada / login / url dari django.contrib.auth.
1. Tambahkan beberapa pengguna dari Django admin atau shell ./manage.py
Bugs
- Pasca-login redirect tidak ditangani dengan benar, sehingga Anda harus memiliki URLPATTERN bernama "rumah" yang adalah di mana Anda ingin reidrected setelah login.
- Puting url twofactor dalam file terpisah (misalnya: twofactor.urls) istirahat urlconf membalikkan fungsi ... mengapa?
Contoh
Mengkloning repo ini dan jalankan:
syncdb ./manage.py
runserver ./manage.py
dan mengarahkan browser Anda ke http: // localhost: 8000
Persyaratan :
- Python
- Django
Komentar tidak ditemukan