По какой-то причине, когда я проверяю, зарегистрирован ли пользователь в Facebook, я делаю api-вызов по $ facebook-> api ('/ меня'); чтобы проверить, является ли токен доступа недопустимым, если пользователь вышел из Facebook, я могу видеть информацию о пользователе, даже если я выйду из страницы facebook (на другой вкладке), и я не могу определить, вышел ли пользователь из facebook.
public function __construct() {
$facebook = new Facebook(array(
'appId' => $this->_fbappid,
'secret' => $this->_fbappsecret,
'cookie' => true,
));
$this->_facebook = $facebook;
}
public function checkFacebookLogin() {
try {
$user = $this->_facebook->getUser();
$user_profile = $this->_facebook->api('/me','GET');
return true;
} catch(FacebookApiException $e) {
return null;
}
}
Любой человек может мне помочь?
ok, используя facebook-> clearAllPersistentData() работает, но только на странице после входа в систему. Если я перейду на другие страницы, а затем вернусь на страницу приложения, он снова вернет мне кнопку входа (очевидно, если вы очистите все постоянные данные :)), и это не так хорошо. Я не могу использовать второе решение, потому что у меня есть только php-страница с приложением facebook, поэтому я не могу использовать другие URL-адреса. Но я не могу понять, почему API возвращает мне информацию о пользователе! Сделать api-вызов после вызова getUser() не следует сказать, что токен недействителен (если пользователь вышел из системы)? Почему Api не «поймает исключение? –