отладка бесконечного цикла после авторизации с помощью javascript sdk - PullRequest
0 голосов
/ 06 ноября 2011

Как обычно, FB заставляет меня вырывать волосы.

Я смог протестировать свое приложение в IE9, но при использовании Firefox после того, как пользователь авторизует приложение canvas, он входит в цикл перенаправления, добавляя переменные состояния и кода в URL.

Я использую JavaScript и PHP SDK с этим кодом:

$facebook = new Facebook(array(
'appId'  => $app_id,
'secret' => $application_secret,
'cookie' => true, // enable optional cookie support
));
$user = $facebook->getUser();
if(!($user))
{
echo"<script> top.location.href='" . $facebook->getLoginUrl(array('redirect_uri' 
=> $fbconfig['appBaseUrl'],
'scope' => 'manage_notifications,publish_stream,publish_actions'
)) . "'</script>";
exit();
}

Я читал о добавлении этого: if (window.location.hash == '# = ') window.location.hash = ''; но, похоже, он ничего не делал.

1 Ответ

1 голос
/ 22 января 2012

У меня была та же проблема с моим последним приложением.Решил это с помощью кода выше в разделе .Не забудьте обновить ваш PHP SDK до последней версии.

<?
$facebook = new Facebook(array(
  'appId'  => 'XXX',
  'secret' => 'YYY',
));
$user = $facebook->getUser();
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl(array(
    'scope' => 'user_likes'
  ));
  echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
    exit;
}
?>
...