通过Passport使用cookieSession

我想用Passport使用Cookie会话存储,因为内存存储不是为生产而devise的:

Warning: connection.session() MemoryStore is not designed for a production environment, as it will leak memory, and will not scale past a single process. 

这是我的Express初始化:

 app.use(express.bodyParser({keepExtensions:true})); app.use(express.cookieParser(cookieSecret)); app.use(express.cookieSession({ key: cookieKey, secret: cookieSecret, maxAge: sessionTimeout })); app.use(passport.initialize()); app.use(passport.session()); app.use(express.methodOverride()); app.use(express.static(__dirname + '/public')); 

如果我将express.cookieSession更改为express.cookieSession ,一切正常。 使用cookieSession用户login成功时,用户在下次加载页面后不再login。 任何提示如何使护照与cookie会议工作?

我正在使用Express 3.0.0

Solutions Collecting From Web of "通过Passport使用cookieSession"

cookieSession的初始化不正确。 尝试这个:

 app.use(express.cookieSession({ key : cookieKey, secret : cookieSecret, cookie : { maxAge: sessionTimeout } })); 

另外,请确保sessionTimeout以毫秒为单位。

我知道这是旧的,但我有同样的问题。 事实certificate,你不需要(实际上你不能)在cookieParser和cookieSession中设置secret选项。

在我自己的post上看到我的答案: https : //stackoverflow.com/a/30109922/3500059