You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

express-session会话丢失:登录后无法访问受保护路由

登录成功后无法访问受保护的/chat路由,中间件检测不到用户会话

express-session配置

会话中间件代码:

app.use(session({
    secret: "secret",
    store: store,
    saveUninitialized: false,
    resave: false,
    cookie: {
        // secure: true,
        maxAge: 1000 * 60 * 10,
        sameSite: "none"
    }
}))

路由保护中间件

校验登录状态的中间件代码:

const user = (req, res, next) => {
    if(req.session.user){
        console.log(`Dari middleware: ${req.session}`)
        next()
    } else {
        res.json({
            session: req.session,
            message: "fail"
        })
    }
}

app.use("/chat", user, (chatRouter));

问题现象

登录成功后访问/chat路由,始终返回fail,会话中无user字段。使用Postman/Insomnia测试正常,仅网页端出现该问题。

前端请求情况

登录请求已设置withCredentials: true,登录响应包含user会话,但跳转至/chat后会话丢失。

环境

  • Node 18.17.0
  • express-session 1.17.3
  • Express 4.18.2

内容的提问来源于stack exchange,提问作者Agu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 13:29:55