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

Node.js登录系统服务器未记录会话,auth-check始终返回未登录的问题求助

Node.js登录系统服务器未记录会话,auth-check始终返回未登录的问题求助

大家好,我正在搭建一个基础的登录系统,目前注册功能完全正常,登录接口也能正常连接数据库,返回200 OK和{"success":true}的响应,但现在遇到了一个棘手的问题:服务器完全没有记录登录状态,我看不到任何能证明服务器识别已登录的cookie或其他标识。

我用的是Node.js,后端部署在自己的Ubuntu VPS上,之前找ChatGPT问过但没解决问题,来这里求助各位大佬。

我主要用到两个接口:/api/login和/api/auth-check。登录接口正常返回成功,但调用/api/auth-check时,服务器返回304 Not Modified,响应体是{"loggedIn":false}。我已经确认前端所有请求这两个接口的fetch都加了credentials: 'include'。

我需要服务器记录会话/ cookie的原因是:登录后要隐藏登录、注册按钮,换成“退出登录”和用户相关内容,同时网站里还有一些需要登录才能操作的功能逻辑要依赖这个状态。

下面是我的后端代码:

/api/login接口代码

app.post('/api/login', async (req, res) => {
  try {
    const { email, password } = req.body;
    if (!email || !password) {
      return res.status(400).json({ error: 'Missing email or password' });
    }

    
    const [rows] = await db.query(
      'SELECT user_id, password FROM users WHERE email = ?',
      [email]
    );

    if (!rows.length) {
      return res.status(401).json({ error: 'Invalid email or password' });
    }

    const user = rows[0];

    if (user.password !== password) {
      return res.status(401).json({ error: 'Invalid email or password' });
    }

    req.session.userId = user.id;
    return res.json({ success: true });

  } catch (error) {
    console.error('Login error:', error);
    return res.status(500).json({ error: 'Server error' });
  }
});

/api/auth-check接口代码

app.get('/api/auth-check', async (req, res) => {
  if (!req.session.userId) {
    return res.json({ loggedIn: false });
  }

  try {
    const [rows] = await db.query(
      'SELECT email FROM users WHERE user_id = ?',
      [req.session.userId]
    );

    if (!rows.length) {
      return res.json({ loggedIn: false });
    }

    return res.json({
      loggedIn: true,
      email: rows[0].email,
    });

  } catch (error) {
    console.error('Auth check error:', error);
    return res.status(500).json({ error: 'Server error' });
  }
});

麻烦各位帮忙看看哪里出问题了,为什么服务器没法记录登录会话呢?

备注:内容来源于stack exchange,提问作者phoenix56

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 19:38:34