Django的替代注册/认证,不涉及重新发明轮子

时间:2015-09-16 21:31:23

标签: python django authentication django-registration

我使用django 1.8django-registration-redux来构建注册/登录工作流程。现在,我使用默认后端阻止用户登录,除非他们转到他们的电子邮件并单击激活电子邮件。这在注册流程中引入了明显的摩擦点。

基本上 - 我希望用户能够在注册后立即注册并开始使用我的网站,而无需返回他们的电子邮件并点击激活链接。

但是,我仍然希望发送激活电子邮件 - 我只是不希望用户本身阻止它。我目前的计划是编写一个清扫程序,在一段时间后提醒我注意未激活的用户,或者只是手动浏览数据库并查看未激活的用户,并手动采取未来的操作。

另一种看待它的方式 - 基本上,我希望区分email_is_validuser_is_active - 现在is_active标志将两者混为一谈。它也比我想要的更复杂,因为is_active似乎默认在很多地方用于允许登录或不登录(参见:https://docs.djangoproject.com/en/1.8/ref/contrib/auth/#django.contrib.auth.models.User.is_active

使用django-registration-redux有一种干净的方法吗?我宁愿不写自己的后端(以及相关的测试,技术/管理债务等) - 或者如果有一个预先存在的替代django-registration-redux后端提供这个,我'我会高兴地使用它。

谢谢!

1 个答案:

答案 0 :(得分:1)

听起来您正在尝试进行电子邮件验证,而不是使用电子邮件进行激活。似乎django-registration-redux不支持这种类型的流。它提供(通过默认后端)您正在看到的流,用户被放入激活队列,直到他们点击他们的电子邮件中的链接,或(通过简单的后端),用户直接注册,没有电子邮件是发出去了。

据我了解,这种方式的电子邮件验证超出了django-registration-redux的范围。但是,您可以在django-allauth中找到您正在寻找的功能。该软件包包括带外电子邮件验证,以及每个帐户支持多个电子邮件地址,所有这些都经过单独验证。