我在快递申请中使用stormpath-express和express-session。登录部分工作正常。但是,当我退出时,之前的会话属性仍然在会话中。我可以看到会话属性connect.sid保持不变
我这样调用/注销<button class="btn btn-default btn-default navbar-btn" onclick="$.post('/logout', function(data) {location.href='/'})">
这是对/ logout的ajax POST调用。
根据stormpath文档,会话将被销毁。但是,当我使用其他用户登录时,之前的会话cookie仍然存在。
var session = require('express-session');
app.use(session({
genid: function(req) {
return uuid.v1();
},
secret: 'xxxxx',
resave: false,
saveUninitialized: false
}));
注销后,上一个会话属性仍然存在
var sess = req.session;
if(sess.phoneNumbers) {
console.log('reuse phoneNumbers from session'); // why it still here???
} else {
答案 0 :(得分:0)
Express-Stormpath只会删除它管理的Cookie,它不会删除您自己的Cookie,因为我们不想干扰其他会话Cookie可能用于的任何自定义用例。
如果您想要像我们一样删除您的cookie,您可以实现在我们之前运行的路由处理程序。只需将此代码置于stormpath.init()
:
app.post('/logout', function (req, res, next) {
// delete the cookies that you need to delete
next(); // our logout handler will get called next
});
我们计划添加一个Post-Logout Handler,让您可以做同样的事情。
我希望这个答案有所帮助!附:我在Stormpath工作,我维护这些库:)