繁体   English   中英

实现webservice以登录社交网站

[英]Implement webservice for login with social sites

我正在使用ios和android app的webservies,需要开发一个用社交媒体登录的服务。

该应用程序需要支持使用twitter,facebook,linkedin和google plus登录。

作为参数,我接受来自社交网站的用户ID以及来自该ID的网站以及诸如名字,姓氏和电子邮件之类的基本用户信息。

以下是相关表格的结构

  1. 用户表

    userid | 电子邮件| deviceid | 名字| 姓氏| 密码

userid是主要的,电子邮件是唯一的

  1. 用户社交媒体表

    userid | 网站| 代币

当我从前端获取此信息时,我首先检查社交用户ID是否已经存在。 如果社交ID不匹配,那么我检查db中是否存在电子邮件。 如果电子邮件不在数据库中,那么我注册新用户。

现在主要的问题是android和ios的twitter sdk不会返回电子邮件,如果用户通过电话注册,甚至facebook也不会返回电子邮件,因此我遇到了一个问题,就是我唯一能识别用户。 我已经搜索了很多,但无法为此提出任何解决方案。

如果我在我的方法中的任何地方出错,请纠正我,并建议我如何处理电子邮件问题。

我已经为两种类型的用户使用了1个表,如下所示:

userid | type | email | socialid | deviceid | firstname | lastname | password | token

“类型”列将是可能的帐户类型的枚举fbtwittergoogleemail

对于来自这些用户的用户, 'socialid'将具有来自社交网络的id(id包含在oauth响应中),对于普通用户(通过电子邮件注册)将为null

“电子邮件”包含普通用户的电子邮件,社交用户为

然后,只需要SELECT查询就可以了解您正在使用的用户类型

查看http://hybridauth.sourceforge.net/并实施以适应您的架构或解决方案。

通常,Facebook API应附带用户ID。 Twitter SDK有点棘手。 尝试在用户数据库中保存使用者Twitter-username。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM