【发布时间】:2021-06-14 06:20:14
【问题描述】:
我有一个项目,我想让用户选择使用他们的 Google/Facebook 帐户来注册/登录。
此外,每当有新用户注册时,都会创建另一个模型(帐户)并与该用户建立联系。所有这些都很好,但现在我遇到了问题。
当使用 Continue with Google 的用户注册时,他们应该被重定向到我将使用刚刚创建的用户创建帐户的视图(可能不是最好的方法,但我找不到任何示例为了更好的)
现在这就是问题发生的地方:
如果用户表中已经存在电子邮件,则用户不会被转移到重定向 url,我将在其中执行检查,如果存在该电子邮件的帐户,我将在登录/注册页面上显示警告,而不是他们被重定向到allauth的...accounts/social/signup/ url
这就是我所拥有的:
settings.py
LOGIN_REDIRECT_URL = "/account_user/checkouath/"
views.py
def checkouath(request):
user = request.user
oauthUser = SocialAccount.objects.get(user=user)
# Actions to create new Account and check if User exists are going to be here
return redirect(reverse("homepage"))
这是我在 Google 上设置的重定向:http://127.0.0.1:8000/accounts/google/login/callback/
我在想我可以更改此 URL,但后来我收到了错误回调的错误。
现在我确定这是一个简单的问题,但我想不通,我想也许有一些回调处理程序,但我找不到资源来实现类似的东西。
【问题讨论】:
标签: django django-models oauth django-allauth