OAuth将本地帐户与第三方合并


OAuth Merge Local Account With Third-Party

我正在与一个团队合作开发一个网络应用程序,该应用程序将使用包含客户端数据的现有数据库,但没有设置用户帐户。目标是让用户在数据库中执行电子邮件查找,看看他们的信息是否已经存在,这样,如果我们找到他们,我们就可以将现有数据与他们的新用户帐户联系起来。

我们也想实现OAuth,这样用户就可以通过facebook或谷歌登录,但我们有点不确定如何将这些第三方帐户链接到我们自己的帐户。我们可以要求返回电子邮件,并将其与我们的数据库进行核对(假设用户允许我们访问),但这将是一个很大的假设,即他们在我们的系统中拥有与其他帐户相同的电子邮件。

说到实际,我们很好奇其他人是如何实现这一工作流程的。在选择其中一个选项时,强制用户先检查他们的电子邮件会更好吗?还是通过查找掷骰子?我们是否应该隐藏通过第三方登录的选项,只允许他们在登录后关联第三方帐户(这样,假设他们在其他地方登录,他们就会自动登录到我们的网站)?还是最好让他们建立一个新帐户,并在事后提供管理工具将本地数据链接到帐户?

很抱歉有这个开放式的问题,我相信我会在这里得到一些反对票(不要恨我),但我已经在互联网上搜索了一段时间,几乎没有什么可以展示的,我觉得StackOverflow社区是最好的问答之一;资源在那里(爱你们)。

提前谢谢!

由于您已经有了客户端数据-强迫所有这些用户做一些事情将是一个糟糕的举动-任何真正的事情。因此,除非你在根本上改变了太多的事情,否则你必须平稳地将它们转移到应用程序中的新机会中。

对于老用户,提出用他们现有的帐户登录,并提出添加社交网络(可能会在窗口顶部发布一些通知),之后他们可以通过社交网络进行身份验证。

对于新用户,可以像老用户一样创建帐户,也可以使用oauth创建帐户。