我正在使用一个名为FB JS Connect的模块(一个免费的扩展程序,我现在似乎无法在Extensions中找到它。)所有这一切都是允许用户使用他们的Facebook ID登录。
效果很好,并使用FB API。
问题是,用户使用FB Connect按钮登录OC,执行某些操作,然后注销。另一个用户登录(不使用FB Connect按钮),之前用户的FB信息仍然在$ _SESSION!
下面列出了$ _SESSION中保留的4个变量,直到新的FB用户登录:
我不敢在代码中乱七八糟地在没有专家建议的情况下“解决”这个问题,因为它可能会破坏很多东西。
我想我需要手动清除它。
我尝试将以下内容放在index.php中,似乎$ session = new Session();当用户登录时,会多次调用index.php。
// Session
$session = new Session();
unset($session->data['fb_<FBAppId>_state']);
unset($session->data['fb_<FBAppId>_code']);
unset($session->data['fb_<FBAppId>_user_id']);
unset($session->data['fb_<FBAppId>_access_token']);
$registry->set('session', $session);
处理此问题的最佳方法是什么?
答案 0 :(得分:0)
将上面的“未设置”代码放入logout.php中,这将解决它。
答案 1 :(得分:0)
我也遇到了这个特定扩展的问题,并且在OC扩展回购中也找不到它。我的建议是使用另一个扩展程序:http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3333