не удается получить сеанс Facebook для входа в систему (FB PHP SDK 4.0.0)

после различных попыток я решил написать здесь мою проблему с логином FB PHP с SDK 4.0.0.
Проблема в том, что я не могу получить сеанс, и я не знаю почему.
Мой код (помещенный в файл с именем «social.php») выглядит следующим образом:

session_start();
define('fbsdk', "/fbsdk/src/Facebook/");
require __DIR__ . '/fbsdk/autoload.php';

use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphUser;

if(isset($_GET['login'])){
if($_GET['login'] == "fb"){
$appid = "677652872357474";
$appsecret = "******";

FacebookSession::setDefaultApplication($appid, $appsecret);
$helper = new FacebookRedirectLoginHelper('http://localhost/ffideasbox/');

try{
$session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex){
print_r($ex);
} catch(Exception $ex){
print_r($ex);
}

if(isset($session)){
echo "Session defined: ".$session;
} else {
echo "Session not defined";
}
} elseif($_GET['login'] == "tw"){
} elseif($_GET['login'] == "gp"){
} else {
...
}
} else {
....
}
?>

Если я иду на страницу документации сессии (https://developers.facebook.com/docs/php/FacebookSession/4.0.0), это говорит мне, что я могу получить сессию:

// If you already have a valid access token:
$session = new FacebookSession('access-token');

// If you're making app-level requests:
$session = FacebookSession::newAppSession();

В конце концов, какой токен доступа? И как я могу получить это?

Затем, после публикации здесь, я добавил перед сессией блок TRY, этот другой:
$ session = FacebookSession :: newAppSession ();

        try{
$session->validate();
} catch(FacebookRequestException $ex){
echo $ex->getMessage();
} catch(\Exception $ex){
echo $ex->getMessage();
}

Но я все еще получаю то же сообщение: «Сеанс не определен» (записано мной в блоке сеанса IF).

Может ли кто-нибудь рассказать мне больше о FBSDK? Я читаю документацию, но мало что понимаю.
Спасибо вам всем.

РЕДАКТИРОВАТЬ: я также добавить «карту» из папки SDK

-mainfolder
|-fbsdk
|-autoload.php
|-src
|-Facebook
|-All the complete facebook sdk

0

Решение

После того, как я искал примеры и многое другое, я посмотрел, что я не добавил кусок

$loginUrl = $helper->getLoginUrl();
header("Location: ".$loginUrl);

в isset ($ session) остальное. Это потому, что я не понимал, зачем это нужно, а когда сессия не определена, я никуда не перенаправлял.

if(isset($session)){
echo "Session defined: ".$session;
} else {
$loginUrl = $helper->getLoginUrl();
header("Location: ".$loginUrl);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]