Django Allauth在Oauth登录后未能创建用户账户

3
我已经通过pip安装了django-allauth。 我已经设置了Github登录,Github显示我的应用程序有一个用户。 但是,在我在Github进行授权后,我被重定向到这个页面: http://127.0.0.1:8000/accounts/social/signup/ 这个页面使用我的base.html模板(从django-allauth复制),但没有指示我已登录。 当我检查django管理站点和我的数据库时,我没有看到任何新用户或社交帐户或社交令牌的条目。 我的回调地址设置为: http://127.0.0.1:8000/accounts/github/login/callback/
2个回答

2

我不得不深入研究allauth代码并找到答案。接收到此页面的原因是,我有一个使用相同电子邮件尝试通过FB注册的已注册用户,这导致了冲突。

解决方案:在socialaccount/signup.html中创建一个模板,并添加一个form.as_p。

对我很有效。


1
我已经将一个用户注册到我的Github帐户中。然后我更改了oauth应用程序密钥,然后尝试重新登录。我以为它会为新的Github应用程序创建一个新用户,但似乎它试图重新连接旧应用程序。然后我重置了数据库,它就可以工作了。 - Bentley4
他们需要添加用户合并和用户合并策略/事件。 - Avia

-1
如果您进入了/accounts/social/signup/页面,那么您还没有注册。在这个阶段,您已经成功地通过社交账户提供商进行了身份验证,但是您需要提交更多的详细信息(例如,如果提供商没有提供电子邮件地址,则需要提供)以完成您的账户。只有在完成此阶段后,您才能成功注册并登录。

嗨,我仍在寻找这个问题的答案,不知道接下来该怎么做。请提供一个线索,比如:应该创建哪个模板?如何摆脱这个问题(假设我不需要更多信息)?谢谢! - Avia
@pennersr 在使用 Google 一键登录后未能创建用户。回调函数被调用但无法创建用户。请参考 Rok Strniša 在以下链接中的答案:https://dev59.com/Yr3pa4cB1Zd3GeqPhZhI#73707538?noredirect=1#comment130689863_73707538 - Hariprasad

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