Как получить токен доступа к Facebook в PHP при использовании oauth2 в JS? - PullRequest
2 голосов
/ 16 декабря 2011

Я использую FB connect и кнопку входа в Facebook на сайте.

Я вошел в систему, используя его, а затем вошел в систему, я перезагрузил страницу, я попытался получить cookie, имеющий access_token в PHP, но не смог этого сделать. Вот мой код JS:

window.fbAsyncInit = function() {
      FB.init({
        appId      : 'xxxxxxxx',
        status     : true, 
        cookie     : true,
        xfbml      : true,
        oauth      : true
      });

      FB.Event.subscribe('auth.login', function(response) {
        window.location.reload();
      });
    };
    (function(d){
       var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
       js = d.createElement('script'); js.id = id; js.async = true;
       js.src = "//connect.facebook.net/en_US/all.js";
       d.getElementsByTagName('head')[0].appendChild(js);
     }(document));

Код кнопки входа Fb:

<div class="fb-login-button" scope="email,user_checkins" >Login with Facebook</div>  

Теперь я, когда пользователь входит в систему через Facebook, я пытаюсь получить его данные, используя access_token, но не получая этот access_token из файлов cookie. Я использую следующий код:

$cookie = $this->get_facebook_cookie(APP_ID, APP_SECRET);



        echo $cookie['access_token'];
        if(isset($cookie['access_token'])){  

            $user = json_decode(@file_get_contents('https://graph.facebook.com/me?access_token=' .$cookie['access_token']));
            echo $user->id;
            if(isset($user->id)){
             //       my stuff

            }                    
        }

Я сомневаюсь, что это даже не получение куки. Пока он регистрируется на стороне клиента. Так как же тогда получить данные в PHP? нужно снова повторить весь процесс входа на стороне PHP тоже? Как мне с этим справиться?

1 Ответ

0 голосов
/ 09 ноября 2012

Почему бы просто не использовать Facebook php sdk, который автоматически загружает файлы cookie, установленные js sdk?https://github.com/facebook/facebook-php-sdk

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