Как мне обработать выход пользователя из Facebook, но оставаться зарегистрированным на моем сайте? - PullRequest
0 голосов
/ 14 сентября 2011

Способ, которым я его настроил, заключается в том, что когда пользователь впервые посещает сайт, он просит его войти в систему с Facebook. Он получает токен доступа и создает сеанс на моем сайте.

Если в какой-то момент пользователь выходит из Facebook, скажем, на другой вкладке, сеанс все еще будет существовать в моем приложении.

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

Я попробовал просто сделать:

file_get_contents('https://graph.facebook.com/me?access_token=xxx')

но, поскольку токен больше не действителен (поскольку пользователь вышел из системы), file_get_contents возвращает ошибку, хотя при просмотре этого в браузере отображается исключение oauth, но я предполагаю, что file_get_contents ошибочно из-за кода ответа HTTP

Ответы [ 2 ]

2 голосов
/ 14 сентября 2011

Вы могли бы сделать что-то вроде этого, я думаю:

@$data=file_get_contents('https://graph.facebook.com/me?access_token=xxx');
foreach ($http_response_header as $rh) if (substr($rh, 0, 4)=='HTTP') list(,$status,)=explode(' ', $rh, 3);
if ($status==200 && $data)
    //Token is good, parse data
else
    //Token is no good
0 голосов
/ 14 сентября 2011

Здесь много вопросов .. Я просто хотел бы поделиться некоторыми соображениями:

  1. Если пользователь выходит из FB на 1 вкладке браузера, он выходит из всех вкладок

  2. Если приложение FB запросило разрешения пользователя, такие как offline_acess, они могут показать им любой соответствующий контент, который им нужен, если они сохранили некоторое количество идентификаторов fb и свое собственное отображение идентификатора. извлечение любой информации о курсе

  3. access_token остается действительным, если вы явно не запросили access_token с датой истечения срока действия.

  4. access_token изменяется, если пользователь изменяет какие-либо учетные данные FB. приложение FB не может обнаружить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...