无法从Facebook PHP SDK 4的FacebookRedirectLoginHelper()获取会话
我尝试了几十种解决方案,但无法使用PHPSDK4从Facebook获得会话。下面是我正在使用的两个页面(我以前尝试过单页面代码,但现在已经将它们拆分为两个页面)。重定向页面从不返回$\u会话,$SESSION变量始终为空。我将感谢任何帮助,谢谢无法从Facebook PHP SDK 4的FacebookRedirectLoginHelper()获取会话,php,facebook,session,Php,Facebook,Session,我尝试了几十种解决方案,但无法使用PHPSDK4从Facebook获得会话。下面是我正在使用的两个页面(我以前尝试过单页面代码,但现在已经将它们拆分为两个页面)。重定向页面从不返回$\u会话,$SESSION变量始终为空。我将感谢任何帮助,谢谢 不管问题是什么,它都源于使用子域。好奇是否有人知道为什么会这样? //loginFB.php include 'vendor/autoload.php'; ob_start(); session_start(); // added in v4.0.
不管问题是什么,它都源于使用子域。好奇是否有人知道为什么会这样?
//loginFB.php
include 'vendor/autoload.php';
ob_start();
session_start();
// added in v4.0.5
use Facebook\FacebookHttpable;
use Facebook\FacebookCurl;
use Facebook\FacebookCurlHttpClient;
// added in v4.0.0
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookOtherException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphSessionInfo;
$id = '???';
$secret = '???';
FacebookSession::setDefaultApplication($id, $secret);
$helper = new FacebookRedirectLoginHelper('http://facebook.example.com/handleFB.php');
echo 'There is no current session, please login here: ';
echo '<a href="' . $helper->getLoginUrl( array( 'email', 'user_friends' ) ) . '">Facebook</a>';
//handleFB.php
include 'vendor/autoload.php';
session_start();
// added in v4.0.5
use Facebook\FacebookHttpable;
use Facebook\FacebookCurl;
use Facebook\FacebookCurlHttpClient;
// added in v4.0.0
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookOtherException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphSessionInfo;
$id = '???';
$secret = '???';
FacebookSession::setDefaultApplication($id, $secret);
$helper = new FacebookRedirectLoginHelper('http://facebook.example.com/handleFB.php');
try {
$session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex) {
// When Facebook returns an error
echo 'error1';
} catch(\Exception $ex) {
// When validation fails or other local issues
echo 'error2';
}
if ($session) {
echo 'Yeah!!';
}
var_dump($_SESSION);
var_dump($session);