Facebook PHP SDK 3.0 (проверьте, вошел ли пользователь) - PullRequest
0 голосов
/ 02 августа 2011

Я пытаюсь использовать Facebook PHP SDK 3.0, чтобы узнать, вошел ли пользователь в свою учетную запись Facebook для отображения своей информации.

Это поток:

  1. Пользователь заходит на мой сайт и связывает свою учетную запись с моим приложением Facebook.
  2. Пользователь теперь залогинен на моем сайте, мой сайт может получить доступ к его информации.
  3. Пользователь выходит из Facebook.com.
  4. Пользователь обновляет мою страницу.
  5. Пользователь вышел из моего сайта.
  6. Пользователь входит в систему на facebook.com.
  7. Пользователь обновляет мою страницу.
  8. ПОЛЬЗОВАТЕЛЬ ДОЛЖЕН ВОЙТИ НА МОЙ САЙТ, НО НЕ.

Когда вы используете Javascript SDK, вы можете проверить, вошел ли пользователь в систему и все ли хорошо работает с шагами. Что нужно сделать с PHP SDK 3.0? Я не хочу давать права доступа access_offline, я просто хочу иметь возможность доступа к пользователю, когда он вошел в систему на facebook.com.

Большое спасибо, Жереми

Ответы [ 2 ]

2 голосов
/ 05 января 2012

Добавьте этот javascript на все страницы (core js). login () и logout () - это функции для входа в систему и выхода из нее. Этим он будет проверять каждый раз, когда fb входит в систему или нет, и вызывает функцию для входа в систему. И будет удовлетворять условию -

ПОЛЬЗОВАТЕЛЬ ДОЛЖЕН БЫТЬ ВОЙТИ НА МОЙ САЙТ, НО НЕ.

<script type="text/javascript">
            window.fbAsyncInit = function() {
                FB.init({appId: '113700398662301', status: true, cookie: true, xfbml: true});

                /* All the events registered */
                FB.Event.subscribe('auth.login', function(response) {
                    // do something with response
                    login();
                });
                FB.Event.subscribe('auth.logout', function(response) {
                    // do something with response
                    logout();
                });

                FB.getLoginStatus(function(response) {
                    if (response.session) {
                        // logged in and connected user, someone you know
                        login();
                    }
                });
            };
</script>
0 голосов
/ 23 августа 2011

на основе подписанного запроса, вы должны знать, авторизовал ли пользователь ваше приложение раньше.Это должно дать вам некоторый статус о пользователе.

, чтобы проверить, вошел ли он в систему на fb, для авторизованного пользователя, вы можете попробовать запросить "/ me" и посмотреть, можете ли вы запросить его успешно

...