在没有 express 的情况下使用 node.js 个客户端会话

Using node.js client-sessions without express

我试图让 client-sessions 在不使用 express 的情况下工作,但我不确定我是否正确移植了示例。

var sessionOptions = { cookieName: 'mySession', secret: 'blargadeeblargblarg', duration: 24 * 60 * 60 * 1000, activeDuration: 1000 * 60 * 5 }; var session = new SESSION(request, response, {}, sessionOptions);

当我 运行 这个客户端会话抱怨时

cannot set up sessions without a secret or encryptionKey/signatureKey pair

客户端会话是否需要 express 才能工作?

来自https://github.com/mozilla/node-client-sessions

client-sessions is connect middleware

因此,虽然它可能不需要 express,但它需要 connect 才能按照文档工作。

具体错误是因为您没有正确使用该库。您需要在使用前配置会话。

var sessions = require("client-sessions");

var session = sessions({
  cookieName: 'mySession',
  secret: 'blargadeeblargblarg', 
  duration: 24 * 60 * 60 * 1000, 
  activeDuration: 1000 * 60 * 5
});

// then inside route handler..
session(req, res, function(){ console.log('done!'); });