我在手机和笔记本电脑上登录了facebook。但是,当我在这些设备上运行以下脚本时,
的config.php
<?php
require_once 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'myAppId',
'secret' => 'myAppSecret',
'cookie' => true,
));
?>
和index.php
<?php
require_once 'config.php';
/* Get a valid session */
$session = $facebook->getUser();
$me = null;
if($session) {
/* Check if session is valid */
$me = $facebook->api('/me');
}
if ($me) {
echo 'User is logged in and has a valid session';
}
else {
echo 'Session expired or user has not logged in yet.
Redirecting...';
echo '<script> top.location.href="'.$facebook->getLoginUrl()
.'";</script>';
}
?>
我得到了
会话已过期或用户尚未登录。 重定向...
然而,在我的笔记本电脑上通过facebook登录此网站(http://facebook.stackoverflow.com/)后,我现在
用户已登录并具有有效会话。
为什么?
答案 0 :(得分:0)
现在我不知道facebook.stackoverflow.com做了什么,但是你的脚本不能使用其他应用程序/浏览器的cookie是有道理的。 Cookie只是本地数据的一小部分,但每个浏览器以不同的方式存储在不同的地方。登录浏览器并不意味着您的脚本可以使用这些存储的凭据。