Это действительно неприятная проблема (ошибка?), которую я пытался выяснить. Кажется, что многие люди жалуются на одну и ту же проблему, но нет определенного решения или руководства по устранению этой проблемы.
В любом случае, моя проблема в том, что я могу заставить SDK нормально регистрировать пользователя, однако, когда они нажимают LogOut. Он перенаправляет их на facebook.com/home.php
(даже несмотря на то, что параметр «следующий» установлен на мой сайт), и пользователь все еще не выходит из системы, когда я снова захожу на свой сайт...
Вот код... (библиотека Facebook автоматически загружается через конфигурацию Codeigniter)
public function DestroySession()
{
$this->load->helper('url');
if($this->facebook->getUser())
{
$this->facebook->destroySession();
$logout = $this->facebook->getLogoutUrl(array("next" => "http://mysite.com/"));
redirect($logout, 'location', 301);
}
}
Так что я получил это, чтобы наконец работать. Вы можете увидеть новую функцию ниже. По некоторым причинам, в которых я не совсем уверен, вы должны выполнить эти шаги.
public function DestroySession()
{
$this->load->helper('url');
//Get User ID
$user = $this->facebook->getUser();
if ($user)
{
try
{
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $this->facebook->api('/me');
// print_r($user_profile);
} catch (FacebookApiException $e)
{
log_message('eror', $e);
$user = null;
}
}
// Login or logout url will be needed depending on current user state.
if ($user)
{
if( session_id() ){} else { session_start() ; }
$logoutUrl = $this->facebook->getLogoutUrl($params = array('next' => base_url()));
//echo 'Logout; '.($logoutUrl);
$this->facebook->destroySession();
redirect($logoutUrl, 'refresh');
}
}
next
? - person ifaour   schedule 17.01.2013301
?! - person ifaour   schedule 17.01.2013