expressjs中的CookieParser和CookieSession中间件

时间:2013-11-21 05:03:14

标签: node.js express connect

我正在尝试在expressjs app中使用cookieSession中间件。是否需要在cookieSession中间件之前使用cookieParser中间件? cookieParser也接受密钥,因此cookieSession中间件也是如此。我需要在两者中设置秘密吗?

var express = require('express');
var app = express();
app.use(express.cookieParser('secret'));
app.use(express.cookieSession({
  key: 'key',
  secret: 'Should it be same as above?'
});

我知道cookieSession中间件将cookie变量分配给req.sesison对象。所以我猜cookieParser是必需的,但我应该在哪里设置秘密,我应该在两者中设置相同的秘密吗?

1 个答案:

答案 0 :(得分:5)

这是捕获。传递给cookieParser的密钥字符串不是由它使用,而是由其他中间件使用,并且是可选的。它将req.secret设置为该值。 cookieSession只检查req.secret是否存在并将使用它,但默认情况下它将使用显式传递的秘密选项。因此将选项仅传递给其中一个就足够了。

您可以在他们的文档中看到它:cookieParsercookieSession