Авторизация Django + MFA allauth – настройка 2FAPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Авторизация Django + MFA allauth – настройка 2FA

Сообщение Anonymous »

Я добавил функцию 2FA в свой проект django, используя django-allauth[mfa]. Я также настроил процесс входа в учетную запись социальной сети с помощью Google.
  • форма входа взята из django.contrib.auth
  • Форма 2FA взята из allauth.mfa
authentication/views.py – мой собственный вклад в django просмотр аутентификации

Код: Выделить всё

class CustomLoginView(LoginView):
form_class = UserLoginForm
template_name='authentication/login.html'
redirect_authenticated_user=True
mfa_enabled = False

def dispatch(self, request, *args, **kwargs):
if self.redirect_authenticated_user and self.request.user.is_authenticated:
if self.mfa_enabled:
return HttpResponseRedirect(resolve_url('account_login'))
else:
redirect_to = self.get_success_url()
if redirect_to == self.request.path:
raise ValueError(
"Redirection loop for authenticated user detected. Check that "
"your LOGIN_REDIRECT_URL doesn't point to a login page."
)
return HttpResponseRedirect(redirect_to)
return super().dispatch(request, *args, **kwargs)

def form_valid(self, form):
user = form.get_user()
if self.has_mfa(user):
self.mfa_enabled = True
print("2FA enabled")
else:
auth_login(self.request, user)
return super().form_valid(form)

def has_mfa(self, user):
return is_mfa_enabled(user)
и этот код вообще не работает. После успешного входа в систему происходит перенаправление на домашнюю страницу. Я хочу перенаправить на форму 2FA, если учетная запись пользователя активирована 2FA.

Код: Выделить всё

path('accounts/2fa/authenticate/', views.Custom2FAAuthenticateView.as_view(), name='account_login'),
это моя настроенная форма аутентификации 2FA. Он работал с учетной записью социальной сети, такой как Google, он перенаправляет на форму 2FA, если учетная запись активирована 2FA.
это мой файл индивидуального просмотра аутентификации 2FA

Код: Выделить всё

# 2FA authentication view for social login
class Custom2FAAuthenticateView(Base2FAAuthenticateView):
template_name = "authentication/mfa/authenticate.html"
Я пробовал много способов. при перенаправленииsolver_url('account_login') браузер был разрушен. Как настроить и какие изменения нужно это исправить. Пожалуйста, кто-нибудь, кто столкнулся с этим, помогите мне.
Спасибо!!!

Подробнее здесь: https://stackoverflow.com/questions/793 ... -2fa-setup
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»