在没有活动的Facebook会话的情况下保护我的Web服务不被调用

时间:2012-05-18 09:15:36

标签: php facebook-graph-api

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

如果没有活跃的Facebook会话,保护我的网络服务的最简单方法是什么?


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

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

1 个答案:

答案 0 :(得分:0)

如果不检查FB访问令牌是否有效,我认为没有一个非常好的方法。

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

<?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
}