Как проверить правильность сеансового cookie в php-sdk? - PullRequest
1 голос
/ 18 марта 2012

Я работаю с PHP и JavaScript SDK и вижу следующую проблему:

Я вошел в систему, установлен файл cookie fbsr_ *, закрываю браузер, снова открываю его и захожу в свое приложение.Файл cookie все еще установлен, поэтому приложение получает его через переменную PHP _COOKIE, и класс Facebook может извлекать пользователя и выполнять вызовы API.

Проблема заключается в том, как только страница отображается вВ браузере и вызове FB.init файл cookie сбрасывается (с помощью FB.Cookie.clearSignedRequestCookie ()), и при последующих запросах пользователь неожиданно выходит из системы.

Полагаю, проблема в том, чтоcookie все еще действителен, хотя состояние пользователя на самом деле отличается от «вошел в систему», который обнаруживается и «фиксируется» JavaScript SDK - но как проверить это состояние в PHP?Я действительно хочу избежать дорогостоящего звонка на URL входа в систему и парсинга ответа или отправки туда пользователя ...

Что вы думаете?Я что-то здесь упускаю?Какой лучший способ решить эту проблему?

С уважением

1 Ответ

0 голосов
/ 18 марта 2012

Пока вы полагаетесь на внешнюю сторону в качестве провайдера аутентификации, единственный способ убедиться, что пользователь вошел в систему, это спросить провайдера.

Вы можете сделать это только позвонив в Facebook, другихспособ проверить это.JS-SDK делает то же самое, чтобы определить, вошел ли пользователь в систему.

...