我需要实现一个帐户系统,让用户可以通过 Facebook、Twitter 和 LinkedIn API 登录。我正在寻找使用 MySQL 和 PHP 在后端执行此操作的最简单和最有效的方法。这是我的出发点:
首先,我将创建两个数据库模式。
- 用户(id、名称、密码哈希)
- thirdPartyLogins(用户 ID, 服务名称、 token )
然后,我将运行以下查询以使用第三方 API 提供的 token 获取用户记录。
SELECT * FROM users, thirdPartyLogins
WHERE serviceName = $serviceName
AND token = $token
AND thirdPartyLogins.userID = users.id
LIMIT 1
这是处理第三方登录的有效方式吗?您会建议任何调整(或现有框架)以加快此类帐户系统的开发吗?
提前感谢您分享您的智慧。
最佳答案
与其开发自己的系统(您必须开发和维护),不如使用现有的库:
http://hybridauth.sourceforge.net/
这个SO问题也在讲: PHP - Simple way to allow login using Facebook, Google and Twitter
希望这对您有所帮助!
[编辑] 实际上,这似乎是一个非常新的好资源: http://www.9lessons.info/2013/03/oauth-login-for-linkedin-facebook.html
关于php - 处理来自多个第三方 API 的登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15098196/