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

问题描述:

我需要实现一个账户系统,让用户通过Facebook,Twitter和LinkedIn API登录。我正在寻找最简单和最有效的方法来在后端执行此操作,使用MySQL和PHP。以下是我想到的作为出发点:处理来自多个第三方API的登录

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

  • 用户(ID,姓名,密码哈希)
  • thirdPartyLogins(用户ID, 服务名,令牌)

然后,我会运行下面的查询使用所提供的令牌来获取用户的记录由第三方API提供。

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

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

在此先感谢您分享您的智慧。

除了开发自己的系统,你将不得不开发和维护的,你应该只使用现有的库:

http://hybridauth.sourceforge.net/

这太问题也谈论它: PHP - Simple way to allow login using Facebook, Google and Twitter

希望这会有所帮助!

[编辑] 其实,这似乎是一个非常最近和良好的资源: http://www.9lessons.info/2013/03/oauth-login-for-linkedin-facebook.html