Я попытался поймать выход пользователя из Facebook через Javascript, затем JS перенаправит на функцию контроллера, которая очищает куки, но у меня это не работает.Мое приложение все еще получает старый сеанс, что приводит к тому, что мое приложение загружается с ошибками, даже когда пользователь вышел из системы.
Но я решил свою проблему, просто добавив эти две строки кода в мою проверку сеанса:
$uid = $facebook->getUser();
$me = $facebook->api('/me');
Если проверка не пройдена, страница будет перенаправлена на страницу входа в Facebook.Вот как выглядит мой код:
$facebook = new Facebook(array(
'appId' => 'XXXXXXXXXX',
'secret' => 'XXXXXXXXXXXXXXXXXXX',
'cookie' => true,
));
$session = $facebook->getSession();
$me = NULL;
if ($session)
{
try
{
$uid = $facebook->getUser();
$me = $facebook->api('/me');
/// OTHER PROCESS
$this->load->view('app_page', $data);
}
catch (FacebookApiException $e)
{
error_log($e);
$this->output->set_header("Location: http://www.facebook.com, TRUE, 302");
}
}
else
{
/// GO TO PERMISSION REQUEST
}