Вход в систему разрешен, даже если адрес электронной почты не подтвержден - PullRequest
0 голосов
/ 30 апреля 2018

Я использую Django rest-auth и allauth для функциональности регистрации. После регистрации пользователя должно быть отправлено электронное письмо, на которое пользователь должен нажать, прежде чем он станет active пользователем.

В настоящее время пользователь помечается как is_active в таблице api_user, как только он регистрируется (проверка электронной почты не требуется, и я также смог login).

Я заметил, что столбец verified в таблице account_emailaddress корректно обновляется (установите 0 до подтверждения по электронной почте и 1 после).

Однако, похоже, это не имеет никакого отношения к столбцу is_active в таблице api_user.

Это мои текущие Django настройки:

AUTH_USER_MODEL = 'api.User'

ACCOUNT_USER_MODEL_USERNAME_FIELD = None
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_VERIFICATION='mandatory'

Кто-нибудь знает, что я не могу делать? Будем очень благодарны за любые объяснения того, как это должно работать.

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 30 апреля 2018

django-allauth не меняет значение is_active на основании подтверждения по электронной почте. Согласно их исходному коду они не касаются флага is_active: https://github.com/pennersr/django-allauth/blob/master/allauth/account/views.py#L290

...