即使电子邮件地址未验证也允许登录

Login permissible even though email address not verified

我正在使用 Django rest-authallauth 来实现注册功能。用户注册后,应发送一封电子邮件,要求用户点击该电子邮件才能成为 active 用户。

目前,用户一注册就在 api_user table 中被标记为 is_active(不需要电子邮件验证,我也可以 login).

我注意到 account_emailaddress table 中的 verified 列正在正确更新(在电子邮件验证之前设置为 0,之后设置为 1)。

然而,这似乎与 api_user table 中的 is_active 列没有任何关系。

这些是我当前的 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'

有人知道我可能不会做什么吗?非常感谢任何关于它应该如何工作的解释。

感谢您的帮助!

django-allauth 不会根据电子邮件验证更改 is_active 的值。 根据他们的源代码,他们不会触及 is_active 标志: https://github.com/pennersr/django-allauth/blob/master/allauth/account/views.py#L290