0

因此,我将 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

知道如何在不分叉回购的情况下实现这一目标吗?

4

0 回答 0