这里有很多问题都是关于服务器端Facebook access token
的验证过程。我有点困惑怎么还安全?
我的客户端和服务器流是:
- 在客户端使用
Mobile SDK
的用户Continue with Facebook
- Facebook向客户端返回
User access token
- 服务器端点接收
user access token
(通过POST方法),并使用Graph
API验证access_token
- 如果通过身份验证的用户返回
JWT
授权令牌作为响应 - 同时(一小时内),如果黑客发现
endpoint
并将新的access_token
传递给被黑客攻击的端点
如果执行5th
点会发生什么?破解POST
参数很困难,但在反编译应用程序并查看类文件后(至少对于android apk),这可能是可能的。在这种情况下,服务器将无法识别伪造的请求,并且将始终返回JWT Authorization
令牌以进行进一步的调用。
Facebookaccess_token
的有效期为60天。我是否需要在验证端点时提供额外的安全层,以确保请求仅来自应用程序?
每当用户请求登录时,facebook user access_token
是否总是在更改?
任何形式的帮助都是可观的。感谢
解决方案:
生成的access_token
将始终属于应用程序。验证它是否通过中的access_token
和app_token
https://graph.facebook.com/debug_token?
access_token=ACCESS_TOKEN
&app_token=APP_TOKEN