Я пробовал PHP SDK (v.3.1.1) и текущий Javascript SDK как предложено здесь: https://developers.facebook.com/docs/guides/web/
теперь при попытке выйти из системы я пробовал оба FB.logout() (для js) и $facebook->getLogoutUrl();
как в документации для обоих четко указано, что эти методы вывести пользователя из приложения, а также из его сеанса facebook.
Но мне нужно только вывести пользователя из приложения facebook (тестовый сайт).
Я попытался вывести пользователя из моего тестового сайта, игнорируя аспект. Но в этом случае, когда пользователь снова нажимает кнопку входа, поток входа в систему (аутентификация и перенаправление facebook) не происходит.
Я также пробовал: (как было предложено предыдущими нерешенными вопросами)
$facebook->destroySession();
unset($_SESSION['fb_' . sfConfig::get('app_fb_config_id') . '_code']);
unset($_SESSION['fb_' . sfConfig::get('app_fb_config_id') . '_access_token']);
unset($_SESSION['fb_' . sfConfig::get('app_fb_config_id') . '_user_id']);
однако при перенаправлении на страницу входа $facebook->getUser() по-прежнему извлекает пользователя.
примечание: в соответствии с примером документации я использую php sdk для входа пользователя на мой тестовый сайт, и js sdk для рендеринга и облегчения кнопки входа в facebook.
дополнительно:
аутентификация, которую я использую, в основном соответствует документации:
YOUR_APP_ID,
'secret' => 'YOUR APP SECRET',
));
$userId = $facebook->getUser();
?>
api('/' + $userId); ?>
Welcome = $userInfo['name'] ?>