Nedochází k odhlášení současně při odhlašování od Facebooku
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- joe
- Člen | 313
Ahoj,
mám celkem obecný dotaz a nemůžu přijít na to, proč se tak děje.
V Auth
presenteru mám klasickou metodu na odhlášení
s kódem:
$this->user->logout(TRUE);
$this->flashMessage('Odhlášen', 'success');
$this->redirect(':Front:Home:');
Samozřejmě funguje, ale jakmile je někdo přihlášený přes Facebook, měl bych ho odhlásit při odhlášení z mé aplikace (použití PHP SDK):
$facebook = new \Facebook(array(...));
$this->user->logout(TRUE);
$this->redirectUrl(
$facebook->getLogoutUrl(array(
'next' => $this->link('//:Front:Home:')
))
);
což způsobí to, že mě odhlásí z FB a přesměruje na
:Front:Home:
, kde jsem ale pořád přihlášený.
Netuší někdo proč? Odhlášení proběhne až při načtení jakékoli
další stránky.
- joe
- Člen | 313
Ideální je také přiložit flash zprávičku. V Opeře se mi ale na takovou adresu nepřesměruje – a to je možná způsobené, že to testuju na nereálných (devel) URL adresách
$this->flashMessage('Odhlášen', 'success');
$this->user->logout(TRUE);
$this->redirectUrl(
$facebook->getLogoutUrl(array(
'next' => $this->link('//:Front:Home:', array(self::FLASH_KEY => $this->params[self::FLASH_KEY]))
// FIXME v Opere to funguje jen bez parametru ??!!
// 'next' => $this->link('//:Front:Home:')
))
);
Editoval joe (16. 8. 2011 16:58)