Django-allauth: 设置社交账号后如何获得本地账号

4
我找到了相反情况的答案: django-allauth:链接多个社交账户到单一用户 也就是,本地用户可以连接一个社交账户。在通过社交登录创建账户后是否有简单的方法来获取本地账户?
我想我的一些用户会感到困惑,并尝试注册本地账户,而且很多时候他们会想用相同的电子邮件地址进行注册,但我目前正在强制执行唯一性。

我有相同的用例,你找到实现它的方法了吗? - berserkia
还没有。我会继续研究它。 - Carlos
@berserkia:嘿,被采纳的答案有效。我只是对其中的第二部分感到困惑。 - Carlos
1个回答

5
在社交连接时,Allauth会从您允许的社交网站收集用户名、电子邮件等数据,并在本地存储它们,但不包括密码。
您可以前往/accounts/password/set/设置密码,然后使用您设置的电子邮件和密码登录。
通过在settings.py中添加以下代码:
ACCOUNT_AUTHENTICATION_METHOD = “username_email”
您可以使用电子邮件或用户名进行登录,而用户名与您社交账户中的用户名相同。
如果该电子邮件已被使用,则会显示“此电子邮件地址已注册用户”的错误。

我专门使用电子邮件作为标识符,而不是用户名。我认为你可能误解了问题。实际上,我需要在用户使用社交账户创建登录后能够添加本地账户。 - Carlos
抱歉,你是对的。然而,答案只需要涵盖第一个URL。我被其余部分搞混了。我刚刚尝试创建了一个社交账户,然后设置了本地密码,接着使用电子邮件和新设置的密码登录了。 - Carlos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接