gpt4 book ai didi

node.js - 将 cookieSession 与 Passport 一起使用

转载 作者:太空宇宙 更新时间:2023-11-03 22:02:11 26 4
gpt4 key购买 nike

我想在 Passport 中使用 cookie session 存储,因为内存存储不是为生产而设计的:

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.session,一切正常。当使用cookieSession时,用户登录成功,但在下一个页面加载发生后,用户不再登录。关于如何使 Passport 与 cookie session 一起工作有什么建议吗?

我使用的是 Express 3.0.0

最佳答案

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

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

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

关于node.js - 将 cookieSession 与 Passport 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com