我希望用户能够从我的应用程序从任何提供商(Facebook,谷歌等)登录,并使用我的服务器创建帐户。我想弄清楚的是构建用户模型的最佳方法。
例如,
用户使用Facebook登录将创建一个新的用户记录,并且记录中会有一个标志告诉我该帐户是一个Facebook帐户。如果同一个用户使用我的服务器创建一个标准帐户,然后使用facebook重新登录,我该如何处理?最好的做法是将这两个帐户相互合并/关联,还是将它们视为两个不同的记录?
答案 0 :(得分:1)
目前我正在研究相同的事情。我将使用这些规则:
关于方案:我创建了一个表users
(id,用户名,电子邮件)和user_data
(id,user_id,email,service_id,service_name,service_type,is_active)。 service_id
是特定于提供商的标识符,service_type
是提供商名称(google / facebook / etc),service_name
是来自提供商网站的displayName(可能与user
不同) 。username
)。 service_id + service_type
必须是唯一的。
答案 1 :(得分:0)
知道它们是否是同一帐户的唯一方法是使用一些标识符。您可以请求从FB登录返回的电子邮件,并将该信息存储在表格中的电子邮件字段中,然后如果他们尝试使用该电子邮件创建帐户,您可以通知他们他们已经拥有帐户。
否则,我不知道你怎么知道他们是否是同一个人。
答案 2 :(得分:0)
我尝试了但却无法这样做。来自LoginRadius(https://www.loginradius.com/sdks/loginradius-sdk)的SDK来处理所有这些事情。对于CMS,他们已经预装了插件,这也很有帮助