Djangos Beitragsauthentifizierung + Allauths MFA – 2FA-SetupPython

Python-Programme
Guest
 Djangos Beitragsauthentifizierung + Allauths MFA – 2FA-Setup

Post by Guest »

Ich habe mit django-allauth[mfa] eine Funktion namens 2FA zu meinem Django-Projekt hinzugefügt. Ich habe auch den Anmeldevorgang für soziale Konten mit Google eingerichtet.
  • Das Anmeldeformular stammt von django.contrib.auth
  • 2FA-Formular stammt von allauth.mfa
authentication/views.py – mein benutzerdefinierter Django-Beitrag Authentifizierungsansicht

Code: Select all

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)
und dieser Code funktioniert überhaupt nicht. Nach erfolgreicher Anmeldung wurde zur Startseite weitergeleitet. Ich möchte zum 2FA-Formular umleiten, wenn für das Benutzerkonto 2FA aktiviert ist.

Code: Select all

path('accounts/2fa/authenticate/', views.Custom2FAAuthenticateView.as_view(), name='account_login'),
Dies ist mein angepasstes 2FA-Authentifizierungsformular. Es funktionierte mit sozialen Konten wie Google und leitete zum 2FA-Formular weiter, wenn das Konto 2FA aktiviert ist.
Dies ist meine angepasste 2FA-Authentifizierungsansichtsdatei

Code: Select all

# 2FA authentication view for social login
class Custom2FAAuthenticateView(Base2FAAuthenticateView):
template_name = "authentication/mfa/authenticate.html"
Ich habe viele Möglichkeiten ausprobiert. Wenn „resolver_url('account_login') umgeleitet wird, wurde der Browser zerstört. Wie man es anpasst und welche Änderungen erforderlich sind, um dieses Problem zu beheben. Bitte hilft mir jemand, der das erlebt hat.
Danke!!!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post