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

标签 php api authentication accounts

我需要实现一个帐户系统,让用户可以通过 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/

相关文章:

PHP PDO 执行失败时事务会回滚吗?

php - API 服务器框架的选择

php - 在 wordpress 中显示所有帖子的 url 是什么?

iOS 在应用启动时检查用户访问 token 有效性 : best practice

sql - 如何通过 WCF 连接到另一台虚拟机上的数据库?

php - 保存 SMTP 密码供以后使用,不使用哈希值

api - 带有 OneLogin SAML 和 MFA 的 AWS API 凭证

Python_Huobi API账户类型,这个参数是什么?

rest - gitlab API : get all the project of a groups (with sub groups)

authentication - Tomcat 7.0.14 LDAP 身份验证