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



这里有很多问题都是关于服务器端Facebook access token的验证过程。我有点困惑怎么还安全?

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

  1. 在客户端使用Mobile SDK的用户Continue with Facebook
  2. Facebook向客户端返回User access token
  3. 服务器端点接收user access token(通过POST方法),并使用GraphAPI验证access_token
  4. 如果通过身份验证的用户返回JWT授权令牌作为响应
  5. 同时(一小时内),如果黑客发现endpoint并将新的access_token传递给被黑客攻击的端点

如果执行5th点会发生什么?破解POST参数很困难,但在反编译应用程序并查看类文件后(至少对于android apk),这可能是可能的。在这种情况下,服务器将无法识别伪造的请求,并且将始终返回JWT Authorization令牌以进行进一步的调用。

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

每当用户请求登录时,facebook user access_token是否总是在更改?

任何形式的帮助都是可观的。感谢

解决方案:

生成的access_token将始终属于应用程序。验证它是否通过中的access_tokenapp_token

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

最新更新