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

React项目JwtToken刷新后丢失问题求助

问题:刷新页面后JwtToken丢失(仅个人设备出现)

我们开发的Web应用采用JwtToken实现登录功能,当前遇到如下问题:在我的设备上,刷新页面后JwtToken会丢失。我已尝试更换不同浏览器,问题仍未解决,但该项目在其他团队成员的设备上可正常运行。

相关代码

jwtToken.js

const jwtToken = (user, statusCode, res) => {
    // 创建Jwt token
    const token = user.getJwtToken();

    // Cookie配置项
    const options = {
        expires: new Date(
            Date.now() + process.env.COOKIE_EXPIRES_TIME * 24 * 60 * 60 * 1000
        ),
        httpOnly: true
    }
    res.status(statusCode).cookie('token', token, options).json({
        success: true,
        token,
        user
    })

}

module.exports = jwtToken;

控制器中的登录函数

exports.loginUser = async (req, res, next) => {
    const { email, password } = req.body;

    // 检查用户是否输入了邮箱和密码
    if (!email || !password) {
        return next(new ErrorHandler('请输入邮箱和密码', 400))
    }
    const user = await User.findOne({email }).select('+password')

    if (!user) {
        return next(new ErrorHandler('无效的登录凭证', 401));
    }

    else if (user.status == "deactive" ) {
        return next(new ErrorHandler('账户已被冻结!', 401));
    }

    // 验证密码是否正确
    const isPasswordMatched = await user.comparePassword(password);

    if (!isPasswordMatched) {
        return next(new ErrorHandler('邮箱或密码错误', 401));
    }
    sendToken(user, 200, res)
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 23:05:16