Двухфакторная аутентификация 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 ответ

Убедитесь, что время на сервере и на телефоне установлено правильно. Даже несколько секунд ожидания могут привести к сбою проверки.

Другие вопросы по тегам