【问题标题】:What's the correct way to use maxAge with Express.js?将 maxAge 与 Express.js 一起使用的正确方法是什么?
【发布时间】:2012-05-12 20:39:09
【问题描述】:

我见过几种变体。假设我希望我的 cookie 在一秒钟后过期。我应该使用

app.use(express.session({ secret: 'mysecret',  maxAge: new Date(Date.now() + 1000)}));

app.use(express.session({ secret: 'mysecret',  maxAge: 1000}));

app.use(express.session({ secret: 'mysecret',  cookie: {maxAge: new Date(Date.now() + 1000)}}));

app.use(express.session({ secret: 'mysecret',  cookie: {maxAge: 1000}}));

还假设我已正确设置我的 cookie 过期并且它已过期。如果用户不重新启动他们的浏览器,他们是否仍然保留 cookie 信息,直到他们这样做?

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    我认为您最好直接查看源代码。

    对于 Express,它使用连接中间件,这是会话 https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L67 的代码

    连接站点上还有更多文档 http://www.senchalabs.org/connect/session.html

    所以你可以这样做

    app.use(express.session({ secret: 'mysecret',  cookie: {expires: new Date(Date.now() + 1000)}}));
    

    app.use(express.session({ secret: 'mysecret',  cookie: {maxAge: 1000}}));
    

    【讨论】:

    • 我认为在第一种方法中您使用“过期”选项的方式不正确!因为这里的中间件配置只会被评估一次,所有用户的有效期都是一样的。
    猜你喜欢
    • 2015-12-31
    • 2018-04-10
    • 2013-01-02
    • 1970-01-01
    • 2020-08-27
    • 2020-07-10
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多