django-allauth process='connect/login' 之间的区别

问题描述

此处在 docs 中有一个可选参数 process,它可以采用 loginconnect

使用 process='login' 它可以正常工作,并且如果没有新用户,则创建新用户,而 process='connect' 什么都没有。(我期待它登录只要有用户 ..)。但我不知道它是如何工作的..

我有一个 loginFormSignUpForm,其中都有社交登录/注册选项,我不希望它在点击社交图标时创建帐户LoginForm

我该如何执行此操作。 (对不起,如果把事情搞砸了..:)

解决方法

区别在于用户是想通过社交帐户创建一个全新的帐户还是简单地向现有帐户添加一个新的社交帐户,与 process="login" 有关前者和 process="connect" 后者。

示例场景:

例如,一个新用户想要使用 google 注册,然后继续创建一个新帐户:process="login"。 django-allauth 中的默认“login.html”模板正是这样做的,以便新用户可以立即注册/登录社交帐户。

另一种情况是现有用户决定他们也希望能够使用“Google”或“Microsoft”登录,然后 process="connect" 。通常,在登录帐户的设置页面中可以找到连接新社交帐户的功能。