node.js - 为什么每次关闭浏览器时我的 session 都会过期?

标签 node.js session express passport.js express-session

我按照记录设置了express的 session maxAge。

这是我的代码:

app.use(session({
    secret: process.env.SESSION_SECRET,
    saveUninitialized: true,
    resave: true,
    maxAge: 1000* 60 * 60 *24 * 365,
    store: new MongoStore({mongooseConnection:mongoose.connection})
}));

但是每次我关闭浏览器时,我都会发现自己已注销。

另外,请注意,我正在使用 Passport 本地、facebook 和 google 身份验证。

它们都过期了。

在控制台中,我可以看到expires/maxAge部分中的connect.sid列出了“Session”,而其他cookie则有日期......

我做错了什么?

最佳答案

您需要配置您的快速 session ,并在 session-cookie 上设置 maxAge

app.use(express.session({
    cookie : {
        maxAge: 1000* 60 * 60 *24 * 365
    },
    store : new MongoStore({mongooseConnection:mongoose.connection})
});
//.....
app.use(passport.session());

关于node.js - 为什么每次关闭浏览器时我的 session 都会过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39197038/

相关文章:

amazon-web-services - VPC 中实例的 Amazon AWS 通信

node.js - 当我尝试在 cloudsearch 上上传文档时,我无法处理此错误

java - 在javascript中读取 session 变量?

php - Symfony2 : Very Slow Session Handling

apache - 我如何获得 apache httpd session ID

javascript - 用户密码确认到位后如何将虚拟数据播种到 Mongoose 数据库

javascript - nodejs回调代码已同步

node.js - 在 alpine 上从源代码安装 node.js

mysql - NodeJS Sequelize - 从刚刚在 MySQL 中创建的行中获取 ID?

angularjs - 用户注册无效并通过 OTP 激活