expressJS中未读取req.signedCookies

expressJS中未读取req.signedCookies,cookies,express,Cookies,Express,这是我的设置: express.js版本“:“3.0.0rc2” app.js ... app.use(express.cookieParser('secret')); app.use(express.session({secret: 'secret'})); app.use(app.router); ... 然后设置签名cookie和重定向: res.cookie('session',cookie_值,{signed:true}); res.redirect('/else_where')

这是我的设置:

express.js版本“:“3.0.0rc2”

app.js

...  
app.use(express.cookieParser('secret'));
app.use(express.session({secret: 'secret'}));
app.use(app.router);
...
然后设置签名cookie和重定向:
res.cookie('session',cookie_值,{signed:true});
res.redirect('/else_where');

然后检索签名cookie:
var cookie=req.signedCookies.session;

console.log('get cookie: ' + req.cookies.session);
console.log('get signed cookie: ' + req.signedCookies.session);
问题是,对于签名的cookie,cookie是
未定义的
,并且与
req.cookies.session
配合良好

由于某些原因,我无法播放cookie的签名。
不知道发生了什么事。
我的
app.use()
的顺序是否正确

与此类似

更新\u 02
我为签名cookie实现了一个简单的
res/req
,如下所示:

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.cookieParser('secret'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(expressValidator);
  app.use(express.session());
  app.use(app.router);
  app.use(express.static(path.join(__dirname, 'public')));
});

app.get('/', function(req, res) {
  if (!req.signedCookies.cat) {
    res.cookie('cat', 'boo', {signed: true});
    console.log('setting cookie');
    res.writeHead(200, {'Content-Type':'text/plain'});
    return res.end('cookie set');
  }

  res.end('signed cookie: ' + req.signedCookies.cat);
});
当我使用浏览器点击
localhost:3000
时,我得到了第一个所需的响应
cookie集

我检查浏览器cookie,cookie已设置。
当我使用相同的浏览器再次点击
localhost:3000
时,我得到相同的响应“cookieset”。
请求似乎没有在cookie上出现

因此,在另一个文件中,我复制/粘贴了上面的代码和交换端口到
3080

当通过第二个响应时,会生成“signed cookie:boo”

然后,如果我刷新
localhost:3000
,则响应为
signed cookie:boo

为什么会发生这种情况?是否存在不应该发生的缓存?
感谢您的帮助

更新\u 01

即使我在设置cookie后立即执行
req.signedCookies.session
,我也会返回
undefined
。cookie确实会被签名,因为有一个附加的
后跟一组随机字母和数字。它没有被分配给
req.signedCookies

浏览器中的cookie是:
boo.o5SqHrxUOZkyNLdIBqIZrfog6jXYJkP78M99IMbrnDA

通过更新到express 3.0.3,cookie将变为:
s:boo.o5SqHrxUOZkyNLdIBqIZrfog6jXYJkP78M99IMbrnDA

此问题在更新后已修复