Como sair do facebook no meu site
estou a usarhttps://github.com/pocesar/facebook-kohana
para login no facebook. Estou com um problema com o logout do facebook. Não destrói a sessão do facebook. Eu tentei muitas coisas e li muitas perguntas. Eu tentei isso no meu método de logout, mas nenhum resultado:$this->redirect('https://www.facebook.com/logout.php? next=mysite.dev &access_token=USER_ACCESS_TOKEN');
Meu método de logout é:
public function action_logout(){
$facebook = new Facebook(array(
'appId' => 'appId',
'secret' => 'mySecret',
));
$user = $facebook->getUser();
$facebook->destroySession();
Session::instance()->delete('user');
$this->redirect('/');
}
Como destruir a sessão, para que o usuário possa fazer login no meu site com outra conta do facebook? Obrigado!
Meu método de login é:
public function action_fbLogin(){
$facebook = new Facebook(array(
'appId' => 'appId',
'secret' => 'Secret',
));
$user = $facebook->getUser();
if ($user) {
$user_profile = $facebook->api('/me', array('fields' => 'id,email,name,first_name,last_name,picture'));
$user_id = Model_UserFunctions::checkIfUserExist($user_profile['email']);
if($user_id > 0)
{
Session::instance()->set('user', array(
'fb_id' => $user_profile['id'],
'user_id' => $user_id,
'pic' => $user_profile['picture'],
'email' => $user_profile['email'],
'first_name' => $user_profile['first_name'],
'last_name' => $user_profile['last_name'],
));
//var_dump($_SESSION);
$this->redirect('profile');
exit;
}
$values = array(
'email' => $user_profile['email'],
'username' => $user_profile['email'],
'password' => '12345678'
);
$user = ORM::factory ( 'User' );
$user->values($values);
try
{
if($user->save()){
$user_new_id = $user->as_array();
$user_new_id = $user_new_id['id'];
Session::instance()->set('user', array(
'fb_id' => $user_profile['id'],
'user_id' => $user_new_id,
'pic' => $user_profile['picture'],
'email' => $user_profile['email'],
'first_name' => $user_profile['first_name'],
'last_name' => $user_profile['last_name'],
));
$this->redirect('profile');
}
}
catch (ORM_Validation_Exception $e)
{
$result = $e->errors('models');
echo '<pre>';
print_r($result);
exit;
}
}
else
{
$this->redirect($facebook->getLoginUrl(array('id,email,name,first_name,last_name,picture')));
}
exit;
}
Editado: Meu objetivo de usar o logout do Facebook é porque, no meu site, eu uso apenas o login do Facebook, não há outra maneira de efetuar login no meu site, isso é idéia. E eu deveria ter o método de logout no meu site; assim, quando o usuário quiser fazer logout, ele poderá fazê-lo. Isso me desconecta do facebook, mas a página de login do facebook é mostrada. Como redirecionar ao lado do meu site. Eu configurei como o próximo, mas ele não redireciona para ele:
<a href="https://www.facebook.com/logout.php? next=http://mysite.dev &access_token=Null">Logout</a>