django_tfa jest aplikacja Django, który implementuje dwuskładnikowego uwierzytelniania w oparciu o contrib.auth Django.
Jeden raz Żetony są generowane przy użyciu onetimepass Tomasza (https://github.com/tadeck/onetimepass). Moduł ten jest już w tej dystrybucji (plików: otp.py). Django_tfa wykorzystuje TOTPs (Time-based One Time Hasła) z base32 zakodowane tajemnic. Jest to w pełni kompatybilny z Google Authenticator (pobrania http://code.google.com/p/google-authenticator/) a może innych aplikacji.
instalacji
Devel:
git clone git: //github.com/lusentis/django_tfa.git
sudo python setup.py install
Stabilny:
sudo easy_install django_tfa
Ustawienia
1. Dodaj twofactor do listy INSTALLED_APPS.
& Nbsp; INSTALLED_APPS = (... 'twofactor', ...)
2. Baza danych Sync (opcja: wykorzystanie na południe)
& Nbsp; # nie na południe:
& Nbsp; ./ manage.py syncdb
& Nbsp; # południe (zalecane):
& Nbsp; ./ manage.py schemamigration --initial twofactor
& Nbsp; ./ manage.py syncdb
& Nbsp; ./ manage.py migrować
1. Dodaj niektóre ustawienia (opcjonalnie, domyślnie są wyświetlane)
& Nbsp; z twofactor.callbacks importować 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. Dodaj logowania i wylogowania szablony (samo korzystanie z contrib.auth)
2. Dodaj twofactor adresów do urls.py korzenia
& Nbsp; url (r '^ logowanie / $', '', {twofactor.views.login_view "TEMPLATE_NAME ':' login.html '},
& Nbsp; name = 'login'),
& Nbsp; url (r '^ logowanie / TFA $', 'twofactor.views.login_twofactor' {'template_name': 'login_twofactor.html'},
& Nbsp; name = "login_twofactor"),
& Nbsp; url (r '^ logowanie / TFA / włączyć $', 'twofactor.views.twofactor_enable ",
& Nbsp; name = "login_twofactor_enable"),
Musisz zastąpić istniejący / login / url z django.contrib.auth.
1. Dodaj kilka użytkownikom Django administratora lub ./manage.py powłoki
Błędy
- Po logowania przekierowanie nie jest obsługiwane poprawnie, więc należy mieć urlPattern nazwie "dom", który jest tam, gdzie chcesz być reidrected po zalogowaniu.
- Wprowadzanie adresów twofactor w oddzielnym pliku (np: twofactor.urls) przerywa funkcję URLconf odwrócić ... dlaczego?
Próbka
Clone to repo i uruchom:
./manage.py syncdb
./manage.py uruchomieniowy
i wpisz w przeglądarce adres http: // localhost: 8000
Wymagania :
- Python
- Django
Komentarze nie znaleziono