注销 JS SDK 并不会注销 PHP SDK

发布于 2024-12-09 06:04:55 字数 363 浏览 0 评论 0原文

我有一个同时使用 PHP SDK 和 JS SDK 的网站。

在两者中更新到 OAuth 后,我注意到退出 JS 并没有真正使用户退出 PHP。

似乎一般的解决方案是调用“/me”,然后,如果出现错误,则假设用户已注销。但是,我不需要在每个页面渲染上调用 /me,我只想知道用户是否已登录,而不会在每个渲染上调用 FB API 影响性能。

有没有办法让 PHP SDK 通过 JS SDK 获知发生的注销?

我尝试过的一些事情:

  • 注释掉 Facebook.php 中 setPersistentData 的内容
  • 手动删除 fbsr_::appid:: cookie

谢谢!

I have a website that is using both the PHP SDK and JS SDK.

After updating to OAuth in both, I've noticed that logging out of JS doesn't actually log the user out of PHP.

It seems like the general solution is to make a call for '/me' and then, if that errors, assume the user has logged out. However, I don't need to call /me on every page render, I just want to know whether the user is signed in without the performance hit of a FB API call on every render.

Is there a way for the PHP SDK to be informed of a logout that happened via the JS SDK?

Some things I've tried:

  • Comment out the contents of setPersistentData in Facebook.php
  • Manually delete the fbsr_::appid:: cookie

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

2024-12-16 06:04:55
setcookie(session_name(), '', time()-42000, '/'); 
unset($_SESSION);
setcookie(session_name(), '', time()-42000, '/'); 
unset($_SESSION);
情话墙 2024-12-16 06:04:55

从 facebook 库获取用户访问令牌

$access_token = $this->facebook->getAccessToken();

,然后在注销功能中使用此代码

if ($this->facebook_user)
        { 


        $logoutUrl = $this->facebook->getLogoutUrl()."&access_token=".$access_token; 


        redirect($logoutUrl);   
        }

并对 facebook 库文件进行一些更改。

 public function getLogoutUrl($params=array()) {
    return $this->getUrl(
      'www',
      'logout.php',
      array_merge(array(
        'next' => $this->getCurrentUrl(),

      ), $params)
    );
  }

get the user access token from facebook library

$access_token = $this->facebook->getAccessToken();

and then use this code in the logout function

if ($this->facebook_user)
        { 


        $logoutUrl = $this->facebook->getLogoutUrl()."&access_token=".$access_token; 


        redirect($logoutUrl);   
        }

And make some changes in facebook library file.

 public function getLogoutUrl($params=array()) {
    return $this->getUrl(
      'www',
      'logout.php',
      array_merge(array(
        'next' => $this->getCurrentUrl(),

      ), $params)
    );
  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文