处理来自多个第三方API的登录


Handling logins from multiple third-party APIs

我需要实现一个帐户系统,允许用户通过Facebook、Twitter和LinkedIn API登录。我正在寻找最简单、最高效的后端方法,使用MySQL和PHP。以下是我的出发点:

首先,我将创建两个数据库模式。

  • 用户(id、名称、密码散列(
  • 第三方登录(userId,serviceName,令牌(

然后,我将运行以下查询,使用第三方API提供的令牌获取用户的记录。

SELECT * FROM users, thirdPartyLogins
WHERE serviceName = $serviceName 
AND token = $token
AND thirdPartyLogins.userID = users.id
LIMIT 1

这是处理第三方登录的有效方法吗?你会建议对这种账户系统进行任何调整(或现有框架(来加快开发吗?

提前感谢您分享您的智慧。

您不应该开发自己的系统,而应该使用现有的库:

http://hybridauth.sourceforge.net/

这个SO问题也在谈论它:PHP-允许使用Facebook、Google和Twitter 登录的简单方法

希望这能有所帮助!

[编辑]事实上,这似乎是一个很新的很好的资源:http://www.9lessons.info/2013/03/oauth-login-for-linkedin-facebook.html