![](/img/trans.png)
[英]Facebook PHP 4.0 - Generate access token based on username and password
[英]How to build PHP API authentication with Facebook token and username/password
我正在使用silex(php微框架)构建一个非常简单的API。 我对如何使用Facebook connect或用户名/密码对用户进行身份验证有一个想法。
我想构建此API来向我的移动应用程序提供数据。 我的API使用的是HTTPS。 使用Facebook进行身份验证:
/me?token=...
/app?token=...
现在使用登录名/密码:
问题是关于用户会话。 我真的不想对每个请求进行此测试(例如,对于Facebook身份验证,有2个对Facebook的请求)。
我当时正在考虑为用户打开一个会话并存储某种API令牌。 令牌将被散列和加盐(盐+ user_id +交付时间)。 我将其存储在会话表中,只需要检查令牌仍然有效并属于发出请求的用户即可。
因此,移动应用只会为每个请求发送用户ID + API令牌。
您觉得呢? 您是否觉得更好的解决方案保持简单? 还是您看到此设计有任何问题?
干杯,马克西姆
Facebook的身份验证流程基于OAuth 2.0协议。 有关协议的更多信息,请参见此处 。
该流程遵循以下一般步骤:
您的客户端获得访问令牌后,就应该存储该令牌。 然后,客户端可以使用访问令牌代表用户执行API请求。 因此,一旦您拥有访问令牌,就无需再次执行上述步骤(除非令牌已过期)。
Facebook提供了许多SDK供您使用,其中包括几个移动SDK。 建议您为移动应用程序使用适当的SDK。 与Facebook一起实施OAuth 2.0对话框比手动完成一切容易得多。 从这里开始阅读。
您可以在第一个用户登录名中保存Facebook ID。 然后,在检查了活动的Facebook用户之后,您可以在Mysql中搜索并比较现有的Facebook ID。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.