django_tfa ist ein Django-Applikation, die Zwei-Faktor-Authentifizierung auf Basis von Djangos contrib.auth implementiert.
One Time Token werden mit Tomasz ist OneTimePass (https://github.com/tadeck/onetimepass) erzeugt. Dieses Modul wird bereits in dieser Distribution (: otp.py Datei) enthalten. Django_tfa verwendet TOTPs (Zeitbasierte One Time Passwords) mit base32 kodiert Geheimnisse. Es ist kompatibel mit Google Authenticator (Download http://code.google.com/p/google-authenticator/) und vielleicht auch andere Anwendungen.
Installation
Devel:
git clone git: //github.com/lusentis/django_tfa.git
sudo python setup.py install
Stabil:
sudo easy_install django_tfa
Einstellungen
1. twofactor in Ihre INSTALLED_APPS Liste.
& Nbsp; INSTALLED_APPS = (... 'twofactor', ...)
2. Sync-Datenbank (optional: Verwendung Süden)
& Nbsp; # kein Süden:
& Nbsp; ./ manage.py syncdb
& Nbsp; # Süden (empfohlen):
& Nbsp; ./ manage.py schemamigration --initial twofactor
& Nbsp; ./ manage.py syncdb
& Nbsp; ./ manage.py migrieren
1. Fügen Sie einige Einstellungen (optional, Standardwerte werden angezeigt)
& Nbsp; von twofactor.callbacks importieren 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. Geben Sie Login und Logout-Vorlagen (das gleiche mit contrib.auth verwenden)
2. Fügen Sie twofactor URLs um Ihre Wurzel urls.py
& Nbsp; url (r '^ login / $', 'twofactor.views.login_view ", {" template_name': 'login.html "},
& Nbsp; name = "login"),
& Nbsp; url (r '^ login / tfa $', 'twofactor.views.login_twofactor ", {" template_name': 'login_twofactor.html "},
& Nbsp; name = 'login_twofactor'),
& Nbsp; url (r '^ login / TFA / aktivieren $', 'twofactor.views.twofactor_enable',
& Nbsp; name = 'login_twofactor_enable'),
Sie müssen Ihre vorhandene / login / url aus django.contrib.auth ersetzen.
1. Fügen Sie einige Benutzer von Django-Admin oder ./manage.py Schale
Bugs
- Post-Login-Umleitung nicht korrekt gehandhabt werden, so dass Sie eine urlPattern namens "Zuhause", das ist, wo Sie nach dem Login reidrected werden wollen sollten.
- Vorrang für URLs twofactor in einer separaten Datei (zB: twofactor.urls) bricht die URLconf Reverse-Funktion ... warum?
Beispiel
Klonen Sie dieses Repo- und auszuführen:
./manage.py syncdb
./manage.py runserver
und mit Ihrem Browser auf http: // localhost: 8000
Anforderungen :
- Python
- Django
Kommentare nicht gefunden