如何处理那些不记得他们是否通过Facebook或Google注册到我的应用程序的用户?

时间:2017-01-18 07:09:34

标签: ios node.js facebook facebook-graph-api google-signin

我正在制作一个应用程序,允许用户通过电子邮件/密码组合或Facebook或谷歌注册手动注册。

我在iOS上使用他们各自的库,无论他们选择哪个,都可以从FB或Google获取令牌。该应用程序将此令牌发送到我的后端。在后端,我通过相应的第三方验证令牌,如果有效,我从第三方获取用户的ID。我使用此ID来标识数据库中的用户。在数据库中,我还存储了该用户的电子邮件。

当用户说删除应用程序并重新安装它然后忘记他们是否通过Facebook或谷歌登录注册时,我的问题就出现了。假设他们最初使用Facebook注册,现在重新安装后,他们通过谷歌按钮点击登录。 现在,当后端收到新的Google令牌并验证时,我会从谷歌获取用户的ID。由于此ID与通过facebook注册的用户的原始ID不同,从技术上讲,这是一个完全不同的用户。此外,由于原始用户的电子邮件已保存在数据库中,因此我无法使用相同的电子邮件创建重复的用户。

解决这种情况的正确方法是什么? 是否应该向用户显示信息错误,告诉他们他们最初是通过Facebook注册的,他们应该使用它?

1 个答案:

答案 0 :(得分:0)

不使用Facebook ID识别数据库中的用户,而是使用带有自动增量整数的id-column。这样,您就可以为每个用户获取自己的唯一ID。通过这种方法,可以将多个单点登录ID(例如用户google ID和facebook ID)映射到同一用户。然后使用您自己的ID识别您应用内的用户。