使用页面访问令牌从客户端进行 Facebook Graph API 调用是否安全?

Is it safe to make a Facebook Graph API Call from the Client using a Page Access Token?

我想从客户端调用 Facebook 的 Graph API 以使用永久页面访问令牌在页面上阅读 public 帖子。我很好奇这是否安全(或如何使其安全)。从我阅读和尝试过的所有内容来看,执行此操作需要访问令牌,并且 Facebook 的其他功能 none 将满足我的需要(参见下面的背景)。

https://developers.facebook.com/docs/javascript/reference/FB.api/ 建议向客户端公开页面访问令牌是安全的,但我怀疑他们在骗我。

背景:
我正在与一个小组合作,该小组希望在他们的 WordPress 网站上显示来自他们的 Facebook 提要的一些帖子。他们不想显示所有帖子,而是根据主题标签过滤它们。我不太了解 WordPress,但我猜我无法在 WordPress 网站上实现自定义后端 API 调用。请提出您可能拥有的任何替代解决方案!

当然可以使用 wordpress 进行这种后端调用。我认为这将是更好的方法。

首先,您可以使用 WP-Cron 为您的 Facebook 通话计时。您可以每隔一小时左右创建一个 Cron-Job。

WP Developer Scheduling WP Cron Events

Wordpress Codex wp_cron Function Reference

Kinsta Knowledgebase Wordpress Cron Job Tutorial

如果您是第一次使用 WP-Cron,请记住一件事:WP-Cron 依赖于 Site-Activity 运行。因此,如果 Wordpress 站点上没有流量,则没有 Cron-Jobs 运行。这是 link 如何将 WP-Cron 添加到您的系统 cron,因此您的 API-Call 将在您每次打算执行时调用:

WP Developer Hooking WPCron into System Task Scheduler

Cron-Job 可以使用 Wordpress HTTP API 进行调用。您应该查看 HTTP API 上的文档和特殊的 wp_remote_request 函数。

Wordpress Codex HTTP API

WP Developer wp_remote_request Reference

或者您可以使用 Theme/Plugin.

安装 Facebook SDK

我不确定在客户端上使用页面访问令牌时的安全影响,但在我看来,这是完成此类工作的更好方法。

Access Token 就像房门钥匙,永远不要把它们放在门前。这意味着,您永远不应该对任何访问令牌进行硬编码。无论它是应用程序、页面还是用户令牌。文档没有在任何地方说明公开令牌是可以的,它们只是说明如何在您的问题的该页面上使用页面令牌 - 但您不能只在客户端对其进行硬编码。

漏洞:如果没有额外的权限,这更像是一个隐私问题,因为与使用简单的应用令牌相比,使用页面令牌(作为页面所有者)可以获得更多信息。