主页官方文档:https://github.com/expressjs/session#readme
安装
npm install express-session
引入
var session = require('express-session')
配置:
这secure: true是一个推荐选项。但是,它需要启用HTTPS的网站,即HTTPS对于安全cookie是必需的。如果secure 设置,并且您通过HTTP访问网站,则不会设置Cookie。如果您的node.js位于代理之后并且正在使用secure: true,则需要在express中设置“ trust proxy”:
app.set('trust proxy', 1) // 信任第一个代理
app.use(session({
secret: 'keyboard cat',//加密字符串
resave: false,
saveUninitialized: true,//无论你是否需要session,都直接给你分配一把钥匙
cookie: { secure: true }
}))
使用:
// 添加 session
req.session.foo = 'bar'
//获取 session
req.session.foo
默认session数据是内存存储的,服务器一旦重启就会丢失,真正的生产环境是会把session持久化存储。