Приложение Facebook с PHP, выполняющим проигрывающую сессию

Я пытаюсь создать Приложение Facebook на основе PHP. Приложение выполняет под php самостоятельно Webhost в Холсте как iFrame.

Я включал новейшую Клиентскую Библиотеку для PHP с Facebook: facebook-php-sdk-94fcb13

Для Авторизации пользователя в моем приложении, я пытаюсь использовать Подключение Facebook, как пример, поставленный с Клиентом. Все хорошо работает 1-й Вход в систему, но когда я нажал Клавишу F5 для перезагрузки страницы, сессия проиграна, и я должен войти в систему снова. Когда я называю свое приложение за пределами Холста Facebook, все прекрасно.

Я не уверен, но я думаю, что мой Браузер (Chrome/FireFox - Ubuntu) не позволяет хранить cookie в iFrame.

Кто-то знает решение для этой проблемы? Вот некоторые Части Исходного кода:

$facebook = new Facebook(array(
    'appId'  => 'x',
    'secret' => 'x',
    'cookie' => 'true',
));

$session = $facebook->getSession();
$facebook->setSession($session);


$me = null;
// Session based API call.
if ($session) {
  try {
    $uid = $facebook->getUser();
    $me = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
  }
}

// login or logout url will be needed depending on current user state.
if ($me) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
}
1
задан Galen 9 May 2010 в 05:53
поделиться

1 ответ

Решено :-)

Я пропустил настройку basedomain в конфигурации.

На вкладке "Conntect" вы должны установить Basedomain для вашего хоста.

Пример: Приложение работает под http://myapp.com/facebook/html, тогда установите basedomain на myapp.com

Теперь куки хранятся правильно.

1
ответ дан 3 September 2019 в 00:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: