身份验证:服务器端的Facebook用户访问令牌验证?

时间:2017-10-21 18:26:04

标签: android facebook facebook-graph-api facebook-oauth

这里的很多问题都是关于服务器端Facebook access token的验证过程。我有点困惑,如何仍然安全?

我的客户端和服务器流程是:

  1. 用户Continue with Facebook在客户端使用Mobile SDK
  2. Facebook将User access token返回给客户端。
  3. 服务器端点接收user access token(通过POST方法)并使用access_token API验证Graph
  4. 如果经过身份验证的用户返回JWT授权令牌作为回应
  5. 在此期间(一小时内),如果黑客发现endpoint并将新的access_token传递给被黑客入侵的终端。
  6. 如果5th点被执行会怎样?很难破解POST参数但是在反编译应用程序并看到类文件(至少对于android apk)之后它可能是有可能的。在这种情况下,服务器将无法识别伪造的请求,并将始终返回JWT Authorization令牌以进一步调用。

    Facebook access_token的有效期为60天。我是否需要在验证端点时提供额外的安全层,以确保请求仅来自应用程序?

    只要用户请求登录,facebook user access_token是否会一直在变化?

    任何形式的帮助都会令人感激。感谢

1 个答案:

答案 0 :(得分:2)

解决方案:

生成的access_token将始终属于某个应用。要验证它是否通过了access_tokenapp_token

https://graph.facebook.com/debug_token?
access_token=ACCESS_TOKEN
&app_token=APP_TOKEN