快递会话密钥属性

时间:2013-05-19 18:59:26

标签: session express

我尝试使用express中的身份验证系统构建应用程序。为了使用户保持会话,我使用快速会话中间件。当我配置会话时,我想知道,如果会话密钥属性必须分配。这个样本来自一些书。

app.configure(function(){
  app.sessionSecret = 'SocialNet secret key';
  app.set('view engine', 'jade');
  app.use(express.static(__dirname + '/public'));
  app.use(express.limit('1mb'));
  app.use(express.bodyParser());
  app.use(express.cookieParser());
  app.use(express.session({
    secret: app.sessionSecret,
    key: 'express.sid',
    store: app.sessionStore
  }));
  mongoose.connect(dbPath, function onMongooseError(err) {
    if (err) throw err;
  });
});

当我没有为会话密钥分配值时,会发生什么?

2 个答案:

答案 0 :(得分:8)

express.session使用下面的connect.session;如果您查看its documentation,则会使用connect.sid作为默认密钥,以防您自己提供密码:

  

选项:

     
      
  • key Cookie名称默认为connect.sid
  •   
  • ...
  •   

答案 1 :(得分:0)

@ robertklep的答案已经过时了:

会话密钥现在是强制性的。您必须提供它并且其中包含的秘密的防御取决于选择一个好的密钥。我的建议是选择一个具有足够熵(128位)的密钥并定期更改它。

请参阅:https://github.com/expressjs/session/blob/master/test/session.js#L38

相关问题