使用Facebook PHP SDK自动登录不需要';t工作
我使用facebook PHP SDK将facebook与我的网站集成,我已经登录了我的facebook帐户,但当我进入我的网站时,不会自动登录使用Facebook PHP SDK自动登录不需要';t工作,php,facebook,facebook-php-sdk,Php,Facebook,Facebook Php Sdk,我使用facebook PHP SDK将facebook与我的网站集成,我已经登录了我的facebook帐户,但当我进入我的网站时,不会自动登录 $facebook = new Facebook(array( 'appId' => XXXXXX, 'secret' => XXXXXXXXXXXXXX, )); $user = $facebook->getUser(); // Login or logout url will be
$facebook = new Facebook(array(
'appId' => XXXXXX,
'secret' => XXXXXXXXXXXXXX,
));
$user = $facebook->getUser();
// Login or logout url will be needed depending on current user state.
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
这里的$user
值为“0”,在我进入facebook帐户后进入我的网页
如果我通过我网站的facebook登录登录。它可以工作,即,$user
将获得一个id
但当我进入我的网站,自动登录不会发生
PHP SDK本身无法提供用户重新访问您页面的自动登录,因为它无法读取Facebook在其自己域下设置的cookie
您必须将其与JS SDK结合使用,JS SDK可以进行跨域请求,因此能够确定当前登录到Facebook的用户,以及他们以前是否访问过您的页面并使用过您的应用程序
FB.getLoginStatus
是用于此的方法;如果它返回用户已经连接到您的应用程序,您可能会触发从JavaScript重新加载页面,以便PHP SDK也了解用户。(如果不重新加载页面,PHP只会在用户下次单击页面内的链接后才知道用户,从而触发对服务器的下一个请求。)