Używam django-allauth w moim projekcie django i rozumiem, że ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION
jest domyślnie ustawiony na True
. Niestety, użytkownik nie był automatycznie zalogowany po potwierdzeniu, więc wyraźnie ustawiłem to ustawienie na True
. Niestety użytkownik nadal nie jest zalogowany po potwierdzeniu adresu e-mail. Ustawienia mojego allauta:Django allauth nie loguje użytkownika w wiadomości e-mail potwierdź
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_EMAIL_SUBJECT_PREFIX = 'MyApp | '
ACCOUNT_PASSWORD_MIN_LENGTH = 6
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True
ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL = 'app:createStudent'
ACCOUNT_EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL = 'app:createStudent'
LOGIN_REDIRECT_URL = 'app:index'
ACCOUNT_LOGOUT_REDIRECT_URL = 'app:index'
ACCOUNT_LOGOUT_ON_GET = True
Przekierowania potwierdzające pocztę e-mail również nie uruchamiają się prawidłowo, a użytkownik jest kierowany do indeksu. Może to wskazywać, że użytkownik został w faktycznie zalogowanego ale mam warunkowe sprawdzające że:
{% if request.user.is_authenticated %}
<a href="{% url 'account_logout' %}">Sign Out</a>
{% else %}
<a href="{% url 'account_login' %}" class="login-popup">Login</a> <a href="{% url 'account_signup' %}" class="login-popup">Register</a>
{% endif %}
I wskazują, że użytkownik nie jest uwierzytelniony.
Cała pomoc jest doceniana dzięki.
EDYCJA: Próbowałem zmienić przekierowanie logowania, aby ustalić, czy faktycznie logował się do użytkownika i wysyłał je do indeksu, ale tak nie jest. Nawet po zmianie przekierowania na inną stronę potwierdzenie nadal wysyła je do indeksu.