我需要实现一个帐户系统,允许用户通过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