您的位置:首页 > Web前端 > Node.js

nodejs 的 express-session 模块之 cookie.secure 选项使用注意事项

2017-01-08 22:40 447 查看
nodejs 的 express-session 模块之 cookie.secure 选项使用注意事项
请注意,将此设置为true时,如果浏览器没有使用HTTPS连接,客户端将不会将cookie发送回服务器。

请注意,secure:true是推荐的选项。但是,它需要一个启用https的网站,即,安全cookie HTTPS是必需的。如果设置了安全,并且您通过HTTP访问您的网站,则不会设置Cookie。如果您的node.js位于代理后面并且正在使用 secure:true,则需要在express中设置“trust proxy”:var app = express()
app.set('trust proxy', 1) // trust first proxy
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}))以上内容参考:https://github.com/expressjs/session#cookie
我个人的测试得到的结果是,如果设置了:secure:true 选项,服务端使用“req.session.user = query_doc.userid;”设置Cookie,但是通过Chrome的开发者工具查看,Response Header 中根本不会包含“set-cookie”,也就是说 Cookie 根本不会发送给客户端浏览器。
rolling:强制在每一个response中都发送session标识符的cookie。如果把expiration设置为一个过去的时间那么 那么过期时间设置为默认的值。roling默认是false。如果把这个值设置为true但是saveUnitialized设置为false,那么cookie不会被包含在响应中(没有初始化的session)
secret 是必需的选项,这是用于签名会话ID cookie的密钥。这可以是单个密钥的字符串或多个秘密的数组。如果提供了一组密钥,只有第一个元素将用于签名会话ID cookie,而在验证请求中的签名时,将考虑所有元素。参考:https://github.com/expressjs/session
======================文档信息===========================
版权声明:非商用自由转载-保持署名-注明出处
署名(BY) :testcs_dn(微wx笑)
文章出处:[无知人生,记录点滴](http://blog.csdn.net/testcs_dn)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: