我正在使用Phalcon。访问路径时调用以下函数:/ registration / facebook / access:
public function facebookAccess()
{
$app = new FacebookApp($this->config);
$app->initialize();
$loginUrl = $app->getRegistrationLink($this->fbRedirectUrl);
$this->view->setVar('loginUrl', $loginUrl);
}
$ app-> initialize()使用我的应用ID和密码调用session_start()和FacebookSession :: setDefaultApplication。链接显示正确。当我点击链接时,我被重定向到/ registration / facebook / process:
public function facebookProcess()
{
$app = new FacebookApp($this->config);
$app->initialize();
if (!$app->startSession($this->fbRedirectUrl))
{
if ($app->getSessionError())
$this->dispatchError($app->getSessionError());
else
$this->dispatchErrorStub('FACEBOOK_SESSION_INVALID');
return;
}
$fbData = $app->getUser();
if (!$fbData->save())
{
$this->dispatchErrorOn($fbData);
return;
}
$this->view->setVar('fbData', $fbData);
}
其中startSession的定义如下:
public function startSession($redirectUrl)
{
$helper = new FacebookRedirectLoginHelper($redirectUrl);
try
{
$this->session = $helper->getSessionFromRedirect();
$this->sessionError = false;
if (!$this->session)
return false;
return true;
}
catch(Exception $ex)
{
$this->session = false;
$this->sessionError = $ex->getMessage();
return false;
}
}
但返回的会话始终为真。代码昨天工作正常,我只是做了一些重构。无法弄清楚问题。
答案 0 :(得分:0)
它解决了自己而没有做任何事......我仍然不知道出了什么问题。