Несмотря на то, что я часами на это пытаюсь, я не могу понять, почему я не могу уничтожить эту сессию Facebook. Выходной URL-адрес выходит из Facebook, но я не могу уничтожить сеанс. Я прошел через Stack Overflow, но ни один из ответов не помог до сих пор.Facebook PHP Уничтожить сеанс
session_start();
$app_id = 'XXX';
$app_secret = 'XXX';
$redirect_uri = 'XXX';
$permissions = array(XXX);
define('ROOT', dirname(__FILE__) . '/');
require_once(ROOT . 'facebook-php-sdk-v4-4.0-dev/autoload.php');
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
// Initialize the SDK
FacebookSession::setDefaultApplication($app_id, $app_secret);
$helper = new FacebookRedirectLoginHelper($redirect_uri);
// Check if existing session exists
if (isset($_SESSION) && isset($_SESSION['fb_token'])) {
// Create new session from saved access_token
$session = new FacebookSession($_SESSION['fb_token']);
// Validate the access_token to make sure it's still valid
try {
if (! $session->validate()) {
$session = null;
}
} catch (Exception $e) {
// Catch any exceptions
$session = null;
}
} else {
// No session exists
try {
$session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex) {
// When Facebook returns an error
} catch(Exception $ex) {
// When validation fails or other local issues
echo $ex->message;
}
}
// Check if a session exists
if (isset($session)) {
// Save the session
$_SESSION['fb_token'] = $session->getToken();
// Create session using saved token or the new one we generated at login
$session = new FacebookSession($session->getToken());
// Create the logout URL
$logoutURL = $helper->getLogoutUrl($session, 'http://msbooth.azurewebsites.net/');
ВОТ ПРОБЛЕМА РАЗДЕЛ:
if(isset($_GET['action']) && $_GET['action'] === 'logout'){
$session->destroySession();
header('Location: ' . $helper->getLogoutUrl($session, 'XXX'));
}
Любые идеи о том, почему сессия не будет уничтожать добро пожаловать! Я не думаю, что я вызываю действие на нужном объекте. Остальная часть кода ниже для справки.
} else {
// No session - Get Login URL
$loginUrl = $helper->getLoginUrl($permissions);
echo '<a href="' . $loginUrl . '">Log in with Facebook</a>';
}