Bra*_*nez 8 php session facebook logout facebook-authentication
我当前的用户故事是user1登录到我的网站和Facebook(这些帐户已连接等).
User1退出我的网站,但不登录Facebook.
在此user2登录到他的帐户之后,来自user1的剩余会话将与user2与我的站点的交互以及他们发布的人员相关联.
因此,为了解决这个问题,我检查了登录的用户是否实际拥有当前登录的facebook(这会导致他们进入facebook登出等),并显示一个允许用户注销的链接. .
点击链接后,他们将转到Facebook并返回该网站.但是,如果您打开一个新标签并转到Facebook,User1仍然会登录.
我怎样才能使这个链接起作用..发生了什么.这是api的错误还是什么?...
编辑:我继续使用有价值的用户ID加载和有效的访问权限来测试,但我还没有让注销链接工作.
小智 5
有点晚了,但这里有我的贡献:
在生成注销URL时使用params,重定向到使用Facebook API函数销毁会话的页面.
这是一个例子:
$logoutUrl = $facebook->getLogoutUrl(array("next" => "http://mydomain.com/page4logout"));
Run Code Online (Sandbox Code Playgroud)
在page4logout中,您可以实例化facebook对象并执行以下命令:
$facebook->destroySession();
Run Code Online (Sandbox Code Playgroud)
之后,您可以进行重定向.
手动删除 Facebook cookie 和会话。这是我前段时间如何解决这个问题的解决方案,它认为这是 Facebook 的一个错误:
setcookie('fbs_'.$this->getAppId(), '', time()-100, '/', $_SERVER["SERVER_NAME"]);
unset($_SESSION['fb_'.$this->getAppId().'_code']);
unset($_SESSION['fb_'.$this->getAppId().'_access_token']);
unset($_SESSION['fb_'.$this->getAppId().'_user_id']);
unset($_SESSION['fb_'.$this->getAppId().'_state']);
Run Code Online (Sandbox Code Playgroud)
$this->getAppID 是你的 Facebook App ID,应该清楚;o)
归档时间: |
|
查看次数: |
2716 次 |
最近记录: |