Django allauth возвращает страницу Account Inactive после входа в систему
Я новичок в программировании и не совсем понимаю, как работает allauth и что именно нужно делать.
У меня есть приложение, в котором пользователь неактивен после регистрации, и он должен нажать на письмо с подтверждением, чтобы стать активным.
Я попытался настроить allauth так, чтобы пользователь мог также войти в систему с помощью google, но когда новый пользователь входит в систему, он перенаправляется на страницу с надписью Account Inactive. В админке я вижу, что он создает аккаунт (неактивный), а также запись в социальных аккаунтах, но он не генерирует токен социального приложения.
С другой стороны, когда пользователь, у которого уже есть аккаунт, пытается войти с помощью google, он перенаправляется на страницу регистрации Allauth.
Так что я не понимаю, как работает активация с allauth. Я что-то не так сделал в своей конфигурации allauth? Мне нужно отредактировать функцию входа или что-то еще?
Посмотрите на класс DefaultAdapter. Там есть метод pre_login, который проверяет, не является ли ваш пользователь неактивным, и если да, то сразу же перенаправляет его на url account_inactive.
def pre_login(
self,
request,
user,
*,
email_verification,
signal_kwargs,
email,
signup,
redirect_url
):
from .utils import has_verified_email, send_email_confirmation
if not user.is_active:
return self.respond_user_inactive(request, user)
....
def respond_user_inactive(self, request, user):
return HttpResponseRedirect(reverse("account_inactive"))