当用户第一次访问我的网站的登录屏幕时,我让Facebook Connect确定用户是否登录Facebook并重新加载页面如果为true:
重新加载页面时,我的后端PHP代码会检查用户是否登录到Facebook,然后自动将其登录到我的站点:
$Facebook = new Facebook(MY_API_KEY, MY_APP_SECRET); if ($Facebook->get_loggedin_user()) { // Log the user in. }
那部分工作正常.问题在于注销功能.我的注销链接目前看起来像这样:
Log Out
当点击它时,用户成功退出Facebook,但后端Facebook PHP对象仍然认为用户已登录($Facebook->get_loggedin_user()
仍返回其用户ID),因此我的登录代码会自动再次登录.
所以我发现的问题是即使Facebook Connect将用户注销,后端Facebook PHP对象仍然认为用户已登录.有人知道如何克服这个问题吗?我可以不使用我的PHP代码自动登录用户吗?
谢谢你的帮助!
我刚刚帮助过有类似问题的人.基本上,你需要使facebook会话到期,然后清理cookie(这有点棘手,而且在文档中没有真正解释得很好):
如何使用PHP和Zend中的Facebook Connect注销用户?
如果它有帮助,请投票;)