页面选项卡应用程序,在验证时将用户重定向回受限页面

时间:2012-02-02 13:19:37

标签: authentication facebook-graph-api iframe-app

我可以使用以下代码使用以下代码将用户重定向回我的app安装页面:

$facebook = new Facebook(array(
  'appId' => $app_id,
  'secret' => $app_secret,
  'cookie' => true
));
$signed_request = $facebook->getSignedRequest();
$page = $signed_request['page'];
$page_id = $page['id'];

$page_array = $facebook->api("/$page_id");
$page_link = $page_array['page_link'];

$redirect_uri = $page_link . '?sk=app_' . $app_id

$user = $facebook->getUser();
if(!$user) {
  $url = $facebook->getLoginUrl(array('redirect_uri' => $redirect_uri));
  echo "<script type='text/javascript'>top.location.href = '$url';</script>";
}

这适用于大多数页面,但如果页面有年龄限制(我不能保证使用我的应用程序的所有页面都不会)$facebook->api("/$page_id");返回false,因为我可以收集,我需要用户访问令牌才能获得我无法获得的信息,除非我对它们进行身份验证!有没有解决这个悖论的方法,还是我必须指示我的用户不要限制他们的页面?

更新

我意识到我可以简单地重定向到facebook.com/$page_id,这会在验证后将用户带回页面,并且我将不得不为$page_link提出api请求,但理想情况下我希望它们是无论指定的默认着陆标签是什么,都会重定向到该页面上的我的应用页面标签。

0 个答案:

没有答案