Facebook PHP API 4.0을 사용 중이며 세션 변수를 설정하려고하므로 사용자의 Facebook 데이터를 사용할 수 있습니다.Facebook Connect PHP 세션 변수가 설정되지 않습니다.
앱 및 Facebook 승인 페이지가 모두 예상대로 작동했지만 $ 세션 변수는 내가 시도한 내용과 상관없이 설정되지 않은 상태로 남아 있습니다. 나는 성공에 대한 비슷한 질문에서 스택에 대한 해결책을 찾으려고 노력했다. 이것은 내가 사용하고있는 코드입니다.
if (isset($session)) {
echo 'Session var is finally being seen';
} else {
// show login url
echo '<a href="' . $helper->getLoginUrl(array()) . '">Login</a>';
}
경우 :
session_start();
//start fb login stuff
require_once($config['basedir'].'/Facebook/FacebookSession.php');
require_once($config['basedir'].'/Facebook/FacebookRedirectLoginHelper.php');
require_once($config['basedir'].'/Facebook/FacebookRequest.php');
require_once($config['basedir'].'/Facebook/FacebookResponse.php');
require_once($config['basedir'].'/Facebook/FacebookSDKException.php');
require_once($config['basedir'].'/Facebook/FacebookRequestException.php');
require_once($config['basedir'].'/Facebook/FacebookAuthorizationException.php');
require_once($config['basedir'].'/Facebook/GraphObject.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;
// init app with app id (APPID) and secret (SECRET)
FacebookSession::setDefaultApplication($fb_app, $fb_secret);
$helper = new FacebookRedirectLoginHelper($config['baseurl']);
try {
$session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex) {
// When Facebook returns an error
echo $ex;
} catch(\Exception $ex) {
// When validation fails or other local issues
echo $ex;
}
if ($session) {
echo 'Session var is finally being seen';
}
//end Facebook login stuff
그렇다면 예외는 무엇입니까? 코드에서 우리는 예외가 발생했다는 것을 무시한다는 것을 알 수 있습니다. – zerkms
워크 플로 란 무엇입니까? 사용자가 귀하에게 리디렉션 된 페이지입니까? 예상 결과를 얻으려면 정확히 무엇을해야합니까? – zerkms
사용자는 Facebook을 통해 앱을 승인해야하며 위의 코드가 포함 된 색인 페이지로 리디렉션됩니다. 예. 로그인 페이지에서 인덱스 페이지로 리다이렉트되며 인덱스 페이지에는'require_once ('config.php');가 포함 된 설정 페이지가 있으며이 설정 페이지는 사용자가 페이스 북을 통해 로그인했는지 확인하는 위의 코드를 가지고있다 . – JimmyBanks