Над ответом Писквор сделал это для меня. Сумасшедший, сколько часов я провожу, пытаясь понять это.
Основная проблема с плагинами, такими как этот Facebook для CakePHP, заключается в том, что они не поставляются с обновлениями. API, особенно популярные, такие как Facebook, все время меняются, потому что их обновляют. Если парень, который написал это изначально как хобби, продолжает свою жизнь и перестает обновлять SDK, люди, которые менее осведомлены о том, как изменить эти вещи, застревают.
КОД РАБОТЫ:
Тем не менее, спасибо за отличное решение Piskvor, вот мой кусок кода для
apps/plugins/facebook/views/helpers/facebook.php
$init .= $this->Html->scriptBlock(
<<<JS
window.fbAsyncInit = function() {
FB.init({
appId : '{$appId}',
session : {$session}, // don't refetch the session when PHP already has it
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.Event.subscribe("auth.logout", function() {
window.location = '/users/logout'
});
{$callback}
};
Ключевой фрагмент кода здесь:
FB.Event.subscribe("auth.logout", function() {
window.location = '/users/logout'
});
{$callback}