我正在将我的网站与Facebook集成,我使用了注册插件,处理了注册过程,现在在前端,我检查用户是否已登录:
FB.getLoginStatus(function(response){
if (response.status == "connected" && FB.getAuthResponse()) {
window.location.href = '<?php echo url_for('@facebook_login', true) ?>?token=' + session.accessToken;
}
});现在,这将识别最后一个注册用户(我),但是当另一个用户(我的妻子)进入facebook时,JS Api会将她验证为已经注册的用户,并将应用程序重定向到登录URL,但PHP API没有正确检测到该用户。
这是我在PHP中使用的代码,它适用于最后一个注册用户,但不适用于同一浏览器中的第一个注册用户。
$fb = new Facebook(array(
'appId' => sfConfig::get('app_manda_free_facebook_app_id'),
'secret' => sfConfig::get('app_manda_free_facebook_app_secret')
));
if ($user_id = $fb->getUser())
{
$user = sfGuardUserPeer::retrieveByFacebookId($user_id);
if ($user)
{
$this->getUser()->signIn($user);
}
}有什么想法吗?我不认为这是预期的行为,因为我的网站不断刷新,试图登录facebook用户。
请帮帮我,这快把我逼疯了!
发布于 2011-09-09 11:03:59
这显然是会话和/或cookie的问题。您是否尝试过查看此类cookie或会话的有效性,并在它们不匹配时将其销毁?这是我倾向于做的练习,因为我经常遇到同样的问题。
https://stackoverflow.com/questions/7356412
复制相似问题