【发布时间】:2014-05-09 22:56:44
【问题描述】:
我正在处理以下Connect 示例:
var connect = require ('connect');
var timeout = 30000; // session timeout: 30 seconds
var sessionOpts = {
secret: 'keyboard cat',
key: 'myapp_sid',
cookie: { maxAge: timeout, secure: true} /*Example doesn't work with secure?*/
};
var app = connect ()
.use (connect.favicon())
.use (connect.cookieParser ('keyboard cat'))
.use (connect.session(sessionOpts))
.use (function (req, res, next) {
var sess = req.session;
if (sess.views) {
res.setHeader ('Content-Type', 'text/html');
res.write ('<p>views: ' + sess.views + '</p>');
res.end();
sess.views++;
} else {
sess.views = 1;
res.end ('welcome to the session demo. refresh!');
}
})
.listen (3000);
当我访问该站点时,如果 cookie 选项不包括 secure: true,则查看次数会增加并在 30 秒后重置。当我包含安全选项时,会话不再停留 30 秒,每次刷新都会重置。
什么是安全选项?如何将它与Connect 的会话中间件一起使用?
【问题讨论】:
标签: node.js session-cookies connect javascript-framework middleware