0

我开始使用 PHP SDK 开发 Facebook 应用程序,我对身份验证/登录过程有两个疑问。

我有这个代码:

  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>");

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

谢谢!

4

1 回答 1

1

它是否检查用户是否已登录或用户是否已授权该应用程序?

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

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

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

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

于 2012-05-08T07:23:17.830 回答