通过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
cookieSession
的初始化不正确。 尝试这个:
app.use(express.cookieSession({ key : cookieKey, secret : cookieSecret, cookie : { maxAge: sessionTimeout } }));
另外,请确保sessionTimeout
以毫秒为单位。
我知道这是旧的,但我有同样的问题。 事实certificate,你不需要(实际上你不能)在cookieParser和cookieSession中设置secret
选项。
在我自己的post上看到我的答案: https : //stackoverflow.com/a/30109922/3500059