stormpath 快速会话注销不删除会话

stormpath express-session logout not deleting session

我在我的 express 应用程序中使用 stormpath-express 和 express-session。登录部分工作正常。但是,当我注销时,上一个会话 属性 仍然存在于会话中。我可以看到会话 属性 connect.sid 保持不变

我像这样调用了 /logout <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 {

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 让您可以做同样的事情。

希望这个回答对您有所帮助! P.S。我在 Stormpath 工作并维护这些库 :)