Facebook-connect дает петлю перенаправления

Пожалуйста, мне нужна помощь. Я занимаюсь этой проблемой в течение 1 месяца!!

Я хотел бы реализовать вход через facebook connect на свой сайт, используя PHP и php-sdk 3.1.1.В двух словах, мой код работает в автономном режиме (на локальном хосте), но не в сети, что приводит к «Слишком много циклов перенаправления (в Chrome)»: ошибка 310 (net::ERR_TOO_MANY_REDIRECTS): было слишком много редиректов.

Вот мой код:

1/ Я загружаю facebook connect SDK и инициализирую его:

    require 'src/facebook.php';
    $facebook = new Facebook(array(
        'appId'  => '209633612480053',
        'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    ));

Обратите внимание, что я создал два приложения на странице facebook-developer, одно для офлайн-тестов, а другое для онлайн-тестов . И я уверен, что правильно переключаюсь между двумя парами appId/secret (онлайн и офлайн) при тестировании. Так что проблема не в плохой инициализации facebook-connect.

2/ Я пытаюсь получить информацию о пользователе:

  $uid = $facebook->getUser();

  if($uid)
  {
     /*
      * Get user information.
      */
     $user = $facebook->api('me/');
     print_r($user); // Display user info.
  }
  else
  {
     /*
      * Redirect to FB login URL to allow access.
      */
     $loginURL = $facebook->getLoginURL();
     echo '<script> top.location.href=\''.$loginURL.'\'</script>';
  }

Это так просто: если пользователь ic подключен к facebook, отобразите его информацию, иначе перенаправьте на страницу входа в facebook, чтобы разрешить доступ.

ЭТО РАБОТАЕТ СОВЕРШЕННО В АВТОНОМНОМ РЕЖИМЕ, но в сети я получаю сообщение об ошибке Chrome:

This webpage has a redirect loop
The webpage at https://www.facebook.com/dialog/oauth?client_id=209633612480053&redirect_uri=http%3A%2F%2Fwww.bluward.com%2Foauth%2Ffacebook&state=551f60cd4be6cd8ed1622f8168a5219a#_=_ has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer.

Дополнительная информация: В сети я использую хост-провайдера 1 и 1, и чтобы убедиться, что у меня такая же конфигурация сервера, как и в автономном режиме (который является MAMP Pro), я загрузил файл php.ini sams.

Пожалуйста, если у кого-то есть идеи, или возникнет аналогичная проблема, буду рад помощи.

Заранее благодарю за помощь.

ОБНОВЛЕНИЕ:

Я обновил свой код, чтобы сосредоточиться на проблемной строке, поэтому вместо перенаправления на страницу входа в facebook я отображаю URL-адрес перенаправления, поэтому мне просто нужно щелкнуть, чтобы войти:

  $uid = $facebook->getUser();

  if($uid)
  {
     /*
      * Get user information.
      */
     $user = $facebook->api('me/');
     print_r($user); // Display user info.
  }
  else
  {
     /*
      * Redirect to FB login URL to allow access.
      */
     $loginURL = $facebook->getLoginURL();
     echo $loginURL; // <-- HERE I CHANGED THE CODE TO DISPLAY LOGIN URL
  }

Что я заметил, так это что facebook бесконечно перенаправляет на мою страницу сценария. Изменяется только параметр codeв адресной строке.

Итак, почему facebook перенаправляет на мою страницу скрипта, не предоставляя мне информацию о пользователе?

Пожалуйста, есть идеи?

5
задан htaidirt 13 May 2012 в 16:52
поделиться