Facebook PHP SDK очистить данные сессии? - PullRequest
1 голос
/ 28 сентября 2011

Я хочу, чтобы люди могли удалить мое приложение из своей учетной записи Facebook из моего приложения.

Это легко сделать с помощью:

$fb->api('/'.$fbUid.'/permissions','DELETE');

Проблема в том, что, если пользователь загружает другую страницу на моем сайте, Facebook php SDK по-прежнему считает, что пользователь "вошел в систему". Я думаю, это потому, что facebook php sdk (v 3.1.1) хранит пользовательские данные в сессиях.

Есть ли хороший способ очистить эти сессии? (я имею в виду лучший способ, конечно, я мог бы пройтись по сессиям и удалить все, начинающиеся с "fb _").

Существует $ fb-> clearAllPersistentData (), но он защищен.

Или мне действительно придется перенаправить пользователя в logoutUrl, чтобы сделать это?

РЕДАКТИРОВАТЬ: перенаправление в logoutUrl не имеет никакого значения, у меня все еще есть переменные сессий.

1 Ответ

4 голосов
/ 29 сентября 2011

Вы можете использовать session_destroy (), но это уничтожит все данные сеанса, включая любые ваши собственные приложения, которые могут использоваться.

Другое решение - расширить класс и предоставить защищенный метод с помощью собственной функции-оболочки.

Однако я согласен, что это немного сломано, и у меня есть несколько исправлений, которые я отправлю в SDK на этой неделе.

...