我希望能在导航到index.php时检查是否已登录Facebook,以便自动重定向到主页。
然而,我的代码只会在点击登录链接后才进行检查。
我查看了一些关于Facebook PHP SDK的其他帖子,但是关于SDK 4.0的内容不多,也没有适用于我的方法。
我原以为可以在会话中添加令牌,但是如果在第一次访问之前已经登录到Facebook,它将无法工作...如果我从Facebook注销而没有从我的网站注销,这也会导致问题。
然而,我的代码只会在点击登录链接后才进行检查。
Facebook\FacebookSession::setDefaultApplication(Globals::FB_APP_ID, Globals::FB_APP_SECRET);
$helper = new Facebook\FacebookRedirectLoginHelper("myurl");
try {
$session = $helper->getSessionFromRedirect();
} catch (FacebookRequestException $ex) {
// When Facebook returns an error
} catch (Exception $ex) {
// When validation fails or other local issues
}
// see if we have a session
if (isset($session)) {
// graph api request for user data
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject();
header("location:home.php");
} else {
// show login url
echo '<a href="' . $helper->getLoginUrl() . '">Login</a>';
}
我查看了一些关于Facebook PHP SDK的其他帖子,但是关于SDK 4.0的内容不多,也没有适用于我的方法。
我原以为可以在会话中添加令牌,但是如果在第一次访问之前已经登录到Facebook,它将无法工作...如果我从Facebook注销而没有从我的网站注销,这也会导致问题。