OAuth 合并本地账户与第三方

OAuth Merge Local Account With Third-Party

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

我们也想实施 OAuth,以便用户能够通过 facebook 或 google 登录,但我们有点不确定如何 link 这些第三方帐户我们自己的。我们可以请求返回电子邮件并根据我们的数据库检查它(假设用户授予我们访问权限),但这是一个很大的假设,即他们在我们的系统中拥有与他们的其他帐户相同的电子邮件。

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

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

提前致谢!

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

对于老用户 - 提供使用他们现有的帐户登录,并提供添加社交网络(可能在 window 顶部有一些通知),他们可以在之后进行身份验证。

对于新用户-提供像老用户一样创建帐户,也提供使用oauth创建帐户。