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

Jdr*_*uwe 5 security rest android facebook 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. 如果验证成功,我允许我的休息资源被"调用"

正如您所看到的,对于我收到的每个请求,我都会向Facebook(服务器端)提出自己的请求.有没有更好的方法来解决这个问题?

提前致谢!

rem*_*oel 0

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

因此,您可以将元组(token、token_expiry)存储在您想要的任何位置,以在大多数情况下绕过对 facebook 的请求。

事实上,您应该得到具有这些属性的响应:

{
"access_token": <access-token>,
 "token_type":<type>,
 "expires_in":<seconds-til-expiration>
}
Run Code Online (Sandbox Code Playgroud)