Двухфакторная аутентификация Django не работает
Я пытаюсь настроить двухфакторную аутентификацию для своего проекта Django. Ниже приведены детали конфигурации
settings.py
'django_otp',
'django_otp.plugins.otp_static',
'django_otp.plugins.otp_totp',
'two_factor',
...
]
MIDDLEWARE = [
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django_otp.middleware.OTPMiddleware',
...
]
LOGIN_URL = 'two_factor:login'
LOGIN_REDIRECT_URL = 'two_factor:profile'
TWO_FACTOR_PATCH_ADMIN = True
TWO_FACTOR_CALL_GATEWAY = 'two_factor.gateways.fake.fake'
TWO_FACTOR_SMS_GATEWAY = 'two_factor.gateways.fake.Fake'
AUTH_USER_MODEL ='Products.CustomUser'
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
)
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
},
},
'loggers': {
'two_factor': {
'handlers': ['console'],
'level': 'INFO',
}
}
}
urls.py
urlpatterns = [
path('', include(tf_urls)),
# path('admin/', admin.site.urls),
]
когда я обращаюсь к URL- адресу http://127.0.0.1:8001/account/login/ , он переходит на страницу создания токена. когда я сканирую QR-код с помощью аутентификатора Google, а затем, когда я вхожу в токен, система выдает ошибку
** не действительный токен **. Приложение уже работает с аутентификацией по умолчанию django с использованием пользовательской модели пользователя. Теперь я пытаюсь включить двухфакторную аутентификацию.
Может ли кто-нибудь указать мне, чего не хватает в приведенной выше конфигурации?
1 ответ
Убедитесь, что время на сервере и на телефоне установлено правильно. Даже несколько секунд ожидания могут привести к сбою проверки.