Сессия Facebook не сохраняется со страницы на страницу - PullRequest
0 голосов
/ 18 августа 2011

У меня трудное время, чтобы заставить работать рабочий процесс facebook javascript SDK. Требовалось указать ссылку для входа в систему, а не значок Facebook. Для этого я немного импровизировал. Пока это работает очень хорошо, но сессия не сохраняется от страницы к странице. Я полагаю, что сеанс устанавливается после метода входа в систему, но это не выглядит так. Вот логин / выход, который отлично работает:

 function login() {
         FB.login(function(response) {
             if (response.session) {
                 FB.api('/me', function(response) {
                     document.getElementById('socialauth').innerHTML = "<span>Welcome,&nbsp;" + response.name + "&nbsp;</span>"
                     + "<a href=\"javascript:void(0)\" onclick=\"logout();\" style=\"color:white; font-weight: bold;\">(logout)</a>";
                 });

             } else {
             }
         }, { perms: 'email,publish_stream' });

         return false;

     }


    function logout() {
        FB.logout(function(response) {
            document.getElementById('socialauth').innerHTML = "<a href=\"javascript:void(0)\" style=\"color:white; font-weight: bold;\" onclick=\"login();\">login</a>";
        });
    }      

А вот то, что я тестирую, с которым не срабатывает:

$(document).ready(function() {
    FB.getLoginStatus(function(response) {
        if (response.status == "connected") {
            // logged in and connected user, someone you know
            alert("ok - 5 seconds has passed");
        } else {
            // no user session available, someone you dont know
            alert("not ok");
        }
      });

  });

Я также пытаюсь "javascript: document.cooike" в моем окне URL и не вижу доказательств сеанса FB.

Пожалуйста, посоветуйте?

1 Ответ

0 голосов
/ 18 августа 2011

Вы также должны убедиться, что загружаете SDK Facebook на каждой странице. Для простого решения, которое использует jQuery, посмотрите https://github.com/xocialhost/jquery.xocialCore.js

Первые две функции в плагине связаны с инициализацией FB и аутентификацией.

Используя предоставленную функцию, вы сделаете что-то вроде этого:

$(document).ready(function() {

   $.xcInitFacebook = function({appId:'yourappid',callback:function() {

      FB.getLoginStatus(function(response) {

      if (response.status === 'connected') { alert('logged in'); } 
              else { alert('not logged in');  }

   } });

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