appsecret_proof如何提供更好的安全性?

时间:2015-01-16 14:19:44

标签: facebook facebook-graph-api

Graph API提供了一种名为appsecret_proof的东西,但它如何比访问令牌更难以妥协?它是访问令牌的HMAC和秘密,因此无论如何它对于每个API调用都是相同的。由于每个API调用都需要appsecret_proof和访问代码,因此可以将它们一起嗅探。那么它如何使事情更安全?理由是什么?

1 个答案:

答案 0 :(得分:3)

让我们说某人攻击您的应用并获取另一个用户的访问令牌。如果没有appsecret_proof,他就可以使用访问令牌来处理恶意内容。使用appsecret_proof,访问令牌对于获得它的任何人来说都是无用的。您只能使用生成的appsecret_proof访问令牌,因此您也需要App Secret - 并且应该只在服务器上使用App Secret。它被称为“秘密”有一个原因:)

更多信息:https://developers.facebook.com/docs/graph-api/securing-requests

示例:扩展页面标记永远有效,因此它们通常存储在数据库中。如果某个用户可以访问其中一个,他可能能够将内容发布到页面墙(如果令牌包含publish_actions)。 appsecret_proof确保您只能使用App Secret上的Page Token。因此,黑客必须得到页面令牌,他也需要以某种方式获得你的App Secret。