实现webservice以登录社交网站

alw*_*arn 6 php twitter facebook web-services

我正在使用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也不会返回电子邮件,因此我遇到了一个问题,就是我唯一能识别用户.我搜索了很多,但无法为此提出任何解决方案.

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

Eug*_*Sue 3

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

userid | type | email | socialid | deviceid | firstname | lastname | password | token
Run Code Online (Sandbox Code Playgroud)

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

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

“email”将包含普通用户的电子邮件,而对于社交用户则为

然后只需执行 SELECT 查询即可了解您正在使用的用户类型