2

Я использую FB connect и login button facebook на сайте.Как получить токен доступа Facebook в PHP при использовании oauth2 в JS?

Я вошел в систему, используя его, а затем при входе в систему, я перезагрузите страницу, я попытался получить файл 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 = $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 тоже? Как мне с этим справиться?

ответ

0

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

+0

выше - это сценарий подключения fb при входе пользователя в систему и всплывающее окно, поэтому в этом случае я использовал JS. – Hafiz