How to end a session in ExpressJS

前端 未结 9 836
小鲜肉
小鲜肉 2020-12-12 15:48

I feel like this has to be buried somewhere in the documentation, but I can\'t find it.

How do you close or end or kill (whatever) a session in ExpressJS?

相关标签:
9条回答
  • 2020-12-12 16:04

    Using req.session = null;, won't actually delete the session instance. The most proper solution would be req.session.destroy();, but this is essentially a wrapper for delete req.session;.

    https://github.com/expressjs/session/blob/master/session/session.js

    Session.prototype.destroy = function(fn){
      delete this.req.session;
      this.req.sessionStore.destroy(this.id, fn);
      return this;
    };
    
    0 讨论(0)
  • 2020-12-12 16:09

    As mentioned in several places, I'm also not able to get the req.session.destroy() function to work correctly.

    This is my work around .. seems to do the trick, and still allows req.flash to be used

    req.session = {};
    

    If you delete or set req.session = null; , seems then you can't use req.flash

    0 讨论(0)
  • 2020-12-12 16:17

    From http://expressjs.com/api.html#cookieSession

    To clear a cookie simply assign the session to null before responding:

    req.session = null
    
    0 讨论(0)
提交回复
热议问题