处理来自多个第三方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