我希望用户能够在不使用第三方的情况下注册,如果他们愿意的话。很少有网站需要用户名登录,所以我想使用电子邮件而不是用户名。
django-rest-framework-social-oauth2结合了python-social-auth和django-oauth-toolkit。
python-social-auth包含一个EmailAuth后端,应该允许用户使用电子邮件和密码进行注册。但是,我不了解使用它而不是Django特定的身份验证后端的含义,而且文档将其标记为“遗产”,这听起来有点可怕。
事实上,我不知道如何创建帐户,包括来自第三方的帐户,因为它需要用户名,因此可以使用Django用户模型。
使用EmailAuth我会失去什么?这是去这里的理想方式,还是有替代方案?
由于我不明白的原因,Django在没有自定义用户模型的情况下仍然不支持电子邮件而不支持用户名,因此无论我是否需要使用定制或开源的基于电子邮件的帐户。< / p>
编辑:python-social-auth只使用username = email.split('@', 1)[0]
填充用户名字段,如here所示。我想我可能需要制作一个自定义的Django用户模型并指向它的python-social-auth,但我不确定如何,而且我不确定这是否仍应通过EmailAuth或独立使用of python-social-auth。