Настройка двухфакторной аутентификации Django - PullRequest
0 голосов
/ 27 февраля 2019

Я недавно задал вопрос об двухфакторной аутентификации Django здесь ... Двухфакторная аутентификация Django .На основании полученных отзывов я пытаюсь развернуть их в своем проекте.Я прочитал основные инструкции по установке, но не могу понять, как заставить его работать в моем проекте ...

Я установил его через ...

pip install django-two-factor-auth

Затем я добавил его в свой файл settings.py ...

INSTALLED_APPS = (
    ...
    'django_otp',
    'django_otp.plugins.otp_static',
    'django_otp.plugins.otp_totp',
    'two_factor',
)

И я добавил его в свой файл settings.py ...

from django.core.urlresolvers import reverse_lazy

LOGIN_URL = reverse_lazy('two_factor:login')

# this one is optional
LOGIN_REDIRECT_URL = reverse_lazy('two_factor:profile')

И я добавилэто в мой файл urls.py ...

urlpatterns = patterns(
    '',
    url(r'', include('two_factor.urls', 'two_factor')),
    ...
)

Я использовал LoginView из django.contrib.auth.views через следующий импорт ...

from django.contrib.auth.views import LoginView

Iс тех пор изменили его на подкласс LoginView из two_factor, как показано ниже:

from two_factor.views import LoginView

Затем я настроил файл two_factor / _base.html в каталоге моего проекта ...

Но когда я вхожуначальные учетные данные имени пользователя и пароля, я получаю следующее сообщение ...

SuspiciousOperation at /project/login/
ManagementForm data is missing or has been tampered.

Я не уверен, что есть более подробные инструкции ... но я следовал тому, что было там и могуКажется, я не могу понять, как это сделать ...

Для протокола, я пытаюсь выяснить, как включитьдвухфакторная аутентификация во время входа пользователя в систему, а затем они должны ввести пин-код в качестве примера.Я также пытаюсь заставить пользователя во время регистрации настроить его как обязательный метод входа в систему.Теперь я понимаю, что используемый мной LoginView неверен.Мне нужно выяснить, как правильно это настроить, когда пользователь изначально регистрируется.

Не уверен, куда идти дальше с этим.Заранее спасибо за любые мысли.

1 Ответ

0 голосов
/ 05 марта 2019

После долгих проб и ошибок ... Я понял, что мне нужно обновить файл settings.py, чтобы учесть поддельные шлюзы, и мне нужно было включить код регистрации, чтобы включить информационные сообщения ...

Вот ссылка на страницу, на которую я ссылался ...

https://django -two-factor-auth.readthedocs.io / en / stable / configuration.html

Как только я добавил приведенный ниже код в свой файл settings.py ... Я смог запустить и запустить 2FA ...

TWO_FACTOR_CALL_GATEWAY = 'two_factor.gateways.fake.Fake'

TWO_FACTOR_SMS_GATEWAY = 'two_factor.gateways.fake.Fake'

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
},
},
'loggers': {
'two_factor': {
'handlers': ['console'],
'level': 'INFO',
}
}
}
...