2012-07-03 4 views
0

Все, что я хочу, это найти хотя бы одно рабочее решение для этой простой вещи.
Я хочу, чтобы определить, что пользователь facebook делает запрос к моему заявлению на холсте FB. Я также хочу, чтобы механизм учитывал случаи, когда пользователь выходит из системы или повторно входит в систему.
Я действительно сломал голову, что :(Проверка подлинности пользователей Facebook на сервере приложений

Пути я уже пробовал:
1) Получение и анализ signed_request параметров во время первоначального запроса пользователя к приложению. Минусы: главная страница холста - это единственное место для ее получения. Я никогда не знаю, что делает пользователь в следующих действиях.
2) Использование файла cookie fbsr. Минусы: иногда я получаю ошибку при попытке обменять код файла cookie на токен доступа пользователя. Я все еще не могу воспроизвести его, это просто происходит. Кстати, это работает на вас?
3) Обработка каждого запроса на получение/отправку на стороне клиента и добавление токена доступа пользователя, полученного JS SDK к запросу. Кажется, это не лучший способ.

Ну, вот и все. Что я делаю неправильно? Будем благодарны за любое рабочее решение.

ответ

0

1) Получение и разбор параметра signed_request во время первоначального запроса пользователя к приложению. Минусы: главная страница холста - это единственное место для ее получения. Я никогда не знаю, что делает пользователь в следующих действиях.

Ну тогда просто поставить разобранный подписанный запрос на сессию ...

Вот что я обычно делаю - каждый раз, когда Facebook::getSignedRequest результатов в чем-то друг, то null, я пишу это в мою сессию (так что я не пропустите, если он будет обновлен, пользователю понравится страница).

+0

Вы помещаете его в сеанс, затем другой пользователь регистрируется в facebook, но остается старым пользователем для вашего приложения. – LINQ2Vodka

+0

Когда другой пользователь входит в систему, приложение снова вызывается в iframe через Facebook, поэтому также будет подписан новый подписанный запрос. – CBroe

+0

Если мой друг регистрируется в fb в другом окне, всплывающее сообщение об ошибке отображается на вкладке оригинала. Я закрываю его и продолжаю работать под своим аккаунтом. – LINQ2Vodka