2012-05-08 43 views
0

我开始用PHP SDK开发Facebook应用程序,我有两个关于auth/login过程的doubs。用户登录时是否必须保存会话?

我有这样的代码:

require_once("facebook.php"); 

    $config = array(); 
    $config[‘appId’] = 'xxxxxx'; 
    $config[‘secret’] = 'xxxxxx'; 
    $config[‘fileUpload’] = false; // optional 

    $facebook = new Facebook($config); 

    $user = $facebook->getUser(); 

现在我有第一个疑问,做这样的事情:

if ($user === 0) { .... } 

问题: - 或者它检查用户登录用户是否已经授权该应用程序? (显然,当$user != 0

然后,我显示认证对话框让用户选择是否授权或不授权我的应用程序,以这种方式:

$loginUrl = $facebook->getLoginUrl(array{ 
    'scope' => 'read_stream', 
    'redirect_uri' => 'https://www.myapp.com/login.php' 
}); 
echo("<script> top.location.href='" . $loginUrl . "'</script>"); 

问题: 我一定要使用此代码,如果$用户返回0?我的意思是,这段代码的范围是什么?登录Facebook或应用授权?

谢谢!

+0

为什么你的代码中有印刷引号?你是否在MS Word中写下这个问题? – ThiefMaster

回答

1

它检查用户是否LOGGED或用户是否授权该应用程序?

它检查用户是否登录Facebook并授权应用程序(带有有效令牌)。

如果$ user返回0,是否必须使用此代码?我的意思是,这段代码的范围是什么?登录Facebook或应用授权?

此代码的范围是应用程序授权。

如果$user为0,则使用该段代码重定向到Facebook的授权/登录页面(如果用户未授权该应用或者如果他这样做了但该令牌无效),它将被重定向到https://www.myapp.com/login.php?state=$s&code=$NEW_TOKEN 而facebook php库将处理$_REQUEST['code'],这样$用户将返回用户的Facebook ID。

+0

谢谢你的回复,好的,我明白了...只有一件事..我和TOKEN有什么关系?我必须管理它吗?或者PHP sdk会自动执行它? – Dail

+1

不,php-sdk会自动为你执行,用户从'$ loginUrl'重定向后 编辑: 如果我建议你应该创建测试用户(https://developers.facebook.com/apps/然后选择该应用并转到角色)以尝试不同的场景。 这里是一个用于登录和获取信息的伪代码http://pastebin.com/GjvRqxCy < - 这不是伪代码应该是完美的,用它来测试/学习。 – 0xAli

相关问题