我正在开发一个Facebook画布应用程序(它是一个Flash应用程序),所有Facebook调用都是从客户端完成的(JS SDK),我在我的服务器上设置了一个php web服务来存储和读取我的数据中的数据基地,所以基本上我现在根本没有使用Facebook php sdk。
如果没有活跃的Facebook会话,保护我的网络服务的最简单方法是什么?
更新:工作了,保罗的回答是正确的,谢谢@Paul。
问题很简单:初始化JS sdk是在php会话启动后完成的,因此我的php文件的进一步调用未被识别为已登录。为了使其工作,我在嵌入swf的文件中初始化了Facebook会话(是Html,现在是php),这意味着处理尚未授权应用程序的用户是在swf加载之前通过php完成的。 现在我可以依赖我的网络服务中的活动会话和用户识别,现在咖啡味道好多了。
答案 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
}