我知道有很多关于此类问题的帖子,但我无法为自己找到解决方案。
在SimpleMachines论坛(SMF)中,我通过Facebook集成了登录,它工作正常。
另一方面,我不能强制系统将我从Facebook注销以及SMF注销操作。
我尝试过:
- $facebook->destroySession();
- 将最终用户重定向到 https://www.facebook.com/logout.php?...使用适当的参数
- 还尝试使用 setcookie('fbs_'.$facebook->getAppId(),
。等,但最终用户仍然登录到Facebook。
你能给我一些建议吗?
更新:在 CBroe 建议的更改之后,这是我的代码现在的样子:
require_once("facebook.php");
$config = array();
$config['appId'] = '1XXXXXXXXXXXX50';
$config['secret'] = '6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2';
$config['fileUpload'] = false;
$facebook = new Facebook($config);
$user = $facebook->getUser();
$logoutUrl = $facebook->getLogoutUrl();
//session_destroy();
$facebook->destroySession();
header('location:https://www.facebook.com/logout.php?access_token='.$config['appId'].'&confirm=1&next=www.mydomain.com');
我尝试过:
$facebook->destroySession();
将最终用户重定向到具有适当参数的
https://www.facebook.com/logout.php?...
销毁会话后,您的 Facebook 类实例中不再设置活动用户访问令牌 - 但这是构建工作注销 URL 所必需的。
因此,请尝试反转这些步骤——首先构建注销 URL,然后销毁会话,然后重定向到注销 URL。