gpt4 book ai didi

facebook - 当用户从 Facebook Canvas 页面注销时,如何删除我们的应用程序 session ?

转载 作者:行者123 更新时间:2023-12-02 19:34:30 27 4
gpt4 key购买 nike

我遇到一种情况,当用户登录我的应用程序时,我创建自己的 session 变量。每当我的用户从我的应用程序注销时,我都会清除自己的 session ,然后也调用 fb 注销..

$facebook = new Facebook(array(
'appId' => $this->key,
'secret' => $this->secret,
));
$logoutUrl = $facebook->getLogoutUrl(array('next' => my url));
Yii::app()->request->redirect($logoutUrl);

但是,当我的用户通过 Canvas 访问应用程序时,如果他们从 Facebook 本身注销,那么我无法跟踪他们何时注销 Facebook。因此,我的 session 值保留在那里,当我与其他用户再次登录时,旧 session 仍然存在。

我该如何处理这个问题?有什么方法可以找出用户从 Facebook 注销的事件,并且我也可以删除我的 session 吗?

最佳答案

旧 session 导致什么问题?通常,即使另一个用户的先前 session 仍然存在,我也不认为以其他用户身份登录会导致任何问题,因为再次登录的行为会“重置”属于新用户的任何 session 值。或者,如果更简单的话,登录操作将清除所有现有 session 并启动一个新 session 。

通常应该有类似的东西来访问 Canvas 。在这种情况下,接收signed_request参数可以被视为新的登录操作,清除任何旧的 session 值或至少检查它们是否与当前用户匹配。

如果一些其他问题是由 session 闲置引起的(比如可能显示人们已连接,但实际上并未连接),那么您可能需要实现一个定期过程,根据某些不活动阈值清除 session 。这并不优雅,但它是捕捉用户根本没有注销而只是关闭浏览器之类的情况的唯一方法。

关于facebook - 当用户从 Facebook Canvas 页面注销时,如何删除我们的应用程序 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7885467/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com