尝试使用 facebook SDK 在我的网站中登录用户时遇到一个奇怪的问题。在某些网络中,它始终可以正常工作,而在其他网络中,即使使用以前工作过的同一用户,登录也会完全失败。
只要它们在同一个网络中,似乎在不同的浏览器和 PC 上都是一致的。从我现在的位置,我可以使用 wifi 连接登录,但不能使用我的手机 3G 连接。
这是一个代码示例。一、登录页面重定向到facebook登录
require_once("facebook/src/facebook.php");
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
));
$loginUrl =$facebook->getLoginUrl(array(
'scope' => 'email,publish_stream,user_birthday',
'redirect_uri' => "http://www.websitelink.com/app/loginCompleta.php"
));
//}
header("Location: " . $loginUrl);
loginCompleta.php 文件中的相关代码是
require_once("facebook/src/facebook.php");
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
));
$user = $facebook->getUser();
print_r($user);
就是这样。在某些网络上,$user 将拥有 facebook 用户的 id,而在其他网络中,该过程失败并且 $user 返回 0。使用相同的 facebook 登录,代码没有任何变化。