Django allauth - 社交用户未收到验证邮件

3 投票
1 回答
2267 浏览
提问于 2025-04-17 21:30

我在我的网站上使用Django allauth来处理用户的登录和注册。

当用户通过社交账号注册我的网站时,主要是谷歌(我只设置了推特、脸书和谷歌,用户似乎更喜欢用谷歌注册)——用户的邮箱总是被自动验证,也就是说,尽管我在allauth的文档中设置了这些选项(http://django-allauth.readthedocs.org/en/latest/#configuration),但邮箱依然被标记为“已验证”。

ACCOUNT_EMAIL_REQUIRED = True
SOCIALACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = "mandatory"
SOCIALACCOUNT_EMAIL_VERIFICATION = "mandatory"

对于通过社交账号注册的用户,从来没有发送过验证邮件,邮箱总是显示为“已验证”。

我设置了一个重要的安全钩子来拦截验证信号。我需要社交用户收到邮件并点击邮箱验证链接。

手动注册的用户一切正常(邮箱、验证链接等)。

这可能是什么问题呢?

我使用的是Python 3.3,Django 1.6.2,django-allauth 0.15.0(通过pip安装)

更新:即使我设置了

SOCIALACCOUNT_AUTO_SIGNUP = False 

并强制用户填写表单,社交用户仍然会被自动验证。

1 个回答

7

谷歌的注册会自动进行验证,因为谷歌会确认这个邮箱地址是有效的。如果你尝试用推特登录,你会发现验证确实会进行,但只有在必要的时候才会出现。

撰写回答