2014-06-14 2 views
0

저는 PHP 용 facebook 로그인 SDK를 처음 사용하고 있으며, 내 웹 사이트에서 "페이스 북으로 로그인"기능을 만들려고합니다. 나는 "로그인"나는 세부 사항을 얻을 모든 것이 내가 필요하지만, 곧 내가 페이지를 새로 고침하고 있습니다로 누르면웹 페이지를 새로 고침 할 때 Facebook 세션이 사라졌습니다.

session_start(); 

require_once('Facebook/FacebookSession.php'); 
require_once('Facebook/FacebookRedirectLoginHelper.php'); 
require_once('Facebook/FacebookRequest.php'); 
require_once('Facebook/FacebookResponse.php'); 
require_once('Facebook/FacebookSDKException.php'); 
require_once('Facebook/FacebookRequestException.php'); 
require_once('Facebook/FacebookAuthorizationException.php'); 
require_once('Facebook/GraphObject.php'); 
require_once('Facebook/HttpClients/FacebookHttpable.php'); 
require_once('Facebook/HttpClients/FacebookCurl.php'); 
require_once('Facebook/HttpClients/FacebookCurlHttpClient.php'); 

use Facebook\FacebookSession; 
use Facebook\FacebookRedirectLoginHelper; 
use Facebook\FacebookRequest; 
use Facebook\FacebookResponse; 
use Facebook\FacebookSDKException; 
use Facebook\FacebookRequestException; 
use Facebook\FacebookAuthorizationException; 
use Facebook\GraphObject; 
use Facebook\FacebookCurl; 
use Facebook\FacebookCurlHttpClient; 
use Facebook\FacebookHttpable; 

FacebookSession::setDefaultApplication('app-id', 'app-secret'); 

// login helper with redirect_uri 
$helper = new FacebookRedirectLoginHelper('app-redirect-link'); 

try { 
    $session = $helper->getSessionFromRedirect(); 
} catch(FacebookRequestException $ex) { 
    // When Facebook returns an error 
} catch(Exception $ex) { 
    // When validation fails or other local issues 
} 

// see if we have a session 
if (isset($session)) { 
    // graph api request for user data 
    $request = new FacebookRequest($session, 'GET', '/me'); 
    $response = $request->execute(); 
    // get response 
    $graphObject = $response->getGraphObject(); 

    // print data 
    echo print_r($graphObject, 1); 
} else { 
    // show login url 
    echo '<a href="' . $helper->getLoginUrl() . '">Login</a>'; 
} 

- "로그인을 :

나는 좋은 작품이 코드를 사용하고 있습니다 "세션이 더 이상 존재하지 않는 것처럼 링크가 다시 나타납니다.

도움을 주시면 감사하겠습니다.

+2

아마도 세션을 어딘가에 저장하고 필요할 경우로드해야 할 것입니다. – Halcyon

답변

1

새 세션을 정의하고 사용하면 도움이됩니다.

관련 문제