4

网站没有指定使用“秘密”的任何要求,app.use(express.cookieSession());但是当在快递中使用相同的内容时,它要求“需要秘密选项”。为什么?

即使我提供秘密app.use(express.cookieSession({secret: 'abc'}));,浏览器中也会显示以下错误:-

TypeError: Cannot read property 'connect.sess' of undefined

4

2 回答 2

4

使用以下代码

app.use(express.cookieParser('secret'));
app.use(express.cookieSession());
于 2013-09-04T14:54:43.350 回答
4

如果不提供加密密钥和秘密,您将无法使用 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
  },
}));
...
于 2013-09-04T14:55:01.037 回答