0

我知道有很多关于此类问题的帖子,但我无法为自己找到解决方案。

在 SimpleMachines 论坛 (SMF) 中,我通过 Facebook 集成了登录,它工作正常。

另一方面,我不能强制系统将我从 Facebook 和 SMF 注销操作一起注销。

我试过了:

  1. $facebook->destroySession();
  2. 使用适当的参数将最终用户重定向到https://www.facebook.com/logout.php ?...
  3. 还尝试使用 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');
4

1 回答 1

0

我试过了:

  1. $facebook->destroySession();

  2. https://www.facebook.com/logout.php?...使用适当的参数将最终用户重定向到

销毁会话后,您的 Facebook 类实例中不再设置活动用户访问令牌 - 但这是构建有效注销 URL 所必需的。

所以尝试颠倒这些步骤——首先构建注销 URL,然后销毁会话,然后重定向到注销 URL。

于 2012-09-24T08:34:34.207 回答