0

我正在开发一个 Facebook 画布应用程序(它是一个 Flash 应用程序),所有 Facebook 调用都是从客户端(JS SDK)完成的,我在我的服务器上设置了一个 php Web 服务来存储和读取我的数据库中的数据,所以基本上目前我根本没有使用 Facebook php sdk。

在没有活动的 Facebook 会话的情况下,保护我的 Web 服务不被调用的最简单方法是什么?


更新:解决了,保罗的回答是正确的,谢谢@Paul。

问题很简单:在 php 会话开始后初始化 JS sdk,因此对我的 php 文件的进一步调用未被识别为已登录。为了使其工作,我在嵌入 swf 的文件中初始化了 Facebook 会话(是 Html ,现在是 php),这意味着处理尚未授权应用程序的用户是通过 php 完成的,甚至在加载 swf 之前。现在我可以依靠我的网络服务中的活动会话和用户识别,现在咖啡的味道好多了。

4

1 回答 1

0

如果不检查 FB 访问令牌是否有效,我认为没有真正好的方法可以做到这一点。

如果我是你,我会使用 SDK 来验证会话。它非常易于使用,只需从此处获取并尝试以下代码:

<?php
require 'php-sdk/src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => 'YOUR_APP_ID',
  'secret' => 'YOUR_APP_SECRET',
));

// See if there is a user from a cookie
$user = $facebook->getUser();

if ($user) {
    // you have a secure session
}
于 2012-05-18T09:23:04.843 回答