该网站没有指定使用“秘密”的任何要求,app.use(express.cookieSession());
但是当在快递中使用相同的内容时,它要求“需要秘密选项”。为什么?
即使我提供秘密app.use(express.cookieSession({secret: 'abc'}));
,浏览器中也会显示以下错误:-
TypeError: Cannot read property 'connect.sess' of undefined
使用以下代码
app.use(express.cookieParser('secret'));
app.use(express.cookieSession());
如果不提供加密密钥和秘密,您将无法使用 cookie。您可以在 cookie 解析器中传递秘密,也可以在设置会话管理时更详细地传递所有必要的值。后者提供了更大的控制,因此通常是最好的主意。
...
app.use(express.compress());
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.cookieSession({
key: "mysite.sid.uid.whatever",
secret: process.env["SESSION_SECRET"],
cookie: {
maxAge: 2678400000 // 31 days
},
}));
...