因此,我将 django-allauth 集成到 django 应用程序中。用户表不仅将电子邮件作为唯一字段。它有email + company
,所以数据可能如下所示:
ID Email Company
---------------------------------
1 john@example.com Google
2 john@example.com Microsoft
...
9 john@example.com Apple
请注意,三个帐户使用相同的电子邮件,但使用不同的公司。根据不同的界面(apple.my-app.com; google.my-app.com)
,John 可以登录所有这些帐户。
现在,我们想将 SocialLogin 集成到这个应用程序中。在当前的方法中,django-allauth socialaccount 使用unique_together = ("provider", "uid")
. 每个帐户还与一个用户帐户相关联。看这里
我的工作方法是unique_together = ("provider", "uid", "company")
,所以通过这样的社会账户表:
User UID Provider Company
---------------------------------
1 abc GitHub Google
2 abc GitHub Microsoft
9 abc GitHub Apple
知道如何在不分叉回购的情况下实现这一目标吗?