Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在客户端公开Facebook应用令牌是否不安全?_Javascript_Facebook_Api_Security_Facebook Graph Api - Fatal编程技术网

Javascript 在客户端公开Facebook应用令牌是否不安全?

Javascript 在客户端公开Facebook应用令牌是否不安全?,javascript,facebook,api,security,facebook-graph-api,Javascript,Facebook,Api,Security,Facebook Graph Api,我的网站发出JS Facebook图形API请求,如 https://graph.facebook.com/v2.2?id=http://[URL]&format=json&access_token=[FB app id]|[FB app token] 获取每个帖子的Facebook共享数量。应用程序id是我的Facebook应用程序id号,应用程序令牌是一个持久访问令牌 这两个值都在客户端公开,尽管我的应用程序机密是私有的,并且我在服务器端生成应用程序令牌 这种做事方式不安全

我的网站发出JS Facebook图形API请求,如

https://graph.facebook.com/v2.2?id=http://[URL]&format=json&access_token=[FB app id]|[FB app token]
获取每个帖子的Facebook共享数量。应用程序id是我的Facebook应用程序id号,应用程序令牌是一个持久访问令牌

这两个值都在客户端公开,尽管我的应用程序机密是私有的,并且我在服务器端生成应用程序令牌

这种做事方式不安全吗?我是否需要将这些请求移动到服务器端并创建自己的端点来报告共享计数

Facebook的有点令人困惑。它说:

同样,出于安全考虑,应用程序访问令牌永远不应该硬编码到客户端代码中,这样做将使加载您的网页或反编译您的应用程序的所有人都能够完全访问您的应用程序机密,从而能够修改您的应用程序。这意味着在大多数情况下,您将仅在服务器到服务器的调用中使用应用程序访问令牌

请注意,因为此请求使用了您的应用程序机密,所以它决不能被删除 在客户端代码或可以反编译的应用程序二进制中生成。 不要与任何人共享你的应用程序机密,这一点很重要。 因此,此API调用只能使用服务器端代码进行

我没有硬编码应用程序访问令牌,我将我的应用程序保密。但我在客户端到服务器的呼叫中使用应用令牌。我需要更改吗?

我认为上的文档非常清楚,您也引用了它们:

同样,出于安全考虑,应用程序访问令牌永远不应该硬编码到客户端代码中,这样做将使加载您的网页或反编译您的应用程序的所有人都能够完全访问您的应用程序机密,从而能够修改您的应用程序。这意味着在大多数情况下,您将仅在服务器到服务器的调用中使用应用程序访问令牌

我想知道你怎么说它不是硬编码的。。。如果是,应用程序访问令牌来自哪里