Facebook移动登录和服务器端验证

时间:2015-10-08 19:10:57

标签: android facebook rest security facebook-graph-api

我正在开发一款具有集成Facebook登录功能的移动应用程序(使用fb android sdk)。我还有一台服务器上有一些我想要保护的休息端点。我一直在寻找寻找最佳解决方案的几天(阅读开发站点上的文章:https://developers.facebook.com/docs/facebook-login/security,其他stackoverflow帖子)但我不太确定什么是最佳解决方案。

目前,我有以下设置:

  1. 用户使用Facebook(移动版Android sdk)登录应用程序。
  2. 从休息端点请求资源时,令牌将作为标题添加。
  3. 在服务器端,我使用fb debug_token端点(https://developers.facebook.com/docs/graph-api/reference/v2.5/debug_token
  4. 验证令牌
  5. 如果验证成功,我允许我的休息资源被“调用”
  6. 正如您所看到的,对于我收到的每个请求,我都会向Facebook(服务器端)提出自己的请求。有没有更好的方法来解决这个问题?

    提前致谢!

1 个答案:

答案 0 :(得分:0)

Facebook使用OAuth,使用此协议,您应该在响应标头或正文中包含与令牌关联的到期时间属性。

所以你可以存储你想要的元组(token,token_expiry)在大多数时间绕过facebook的请求。

实际上你应该对这些属性做出回应:

{
"access_token": <access-token>,
 "token_type":<type>,
 "expires_in":<seconds-til-expiration>
}