Node.js 无法将JWT分配给标头请求

Node.js 无法将JWT分配给标头请求,node.js,jwt,Node.js,Jwt,我在使用JWT时遇到问题。在负责登录页面的路由器中,在post请求中,我为每个登录用户分配了一个JWT,尽管我不能在每个页面请求的标头中发送令牌,也不能在标头中实际保存令牌。每次登录后,当我控制台记录令牌并将其复制粘贴到POSTMAN中的标题时,它工作正常,因此我认为这是我的问题 // generate a jwt for the login user const token = jwt.sign({_id: this._id, isAdmin: this.isAdmin}, proces

我在使用JWT时遇到问题。在负责登录页面的路由器中,在post请求中,我为每个登录用户分配了一个JWT,尽管我不能在每个页面请求的标头中发送令牌,也不能在标头中实际保存令牌。每次登录后,当我控制台记录令牌并将其复制粘贴到POSTMAN中的标题时,它工作正常,因此我认为这是我的问题

// generate a jwt for the login user
   const token = jwt.sign({_id: this._id, isAdmin: this.isAdmin}, process.env.TOKEN_SECRET, 
   {expiresIn: 1800});

// send back to the homepage with the token in the header (?)
    res.header('auth-token', token).redirect('/');
    console.log(token);
在完成这个任务后,我尝试访问一个经过身份验证的用户页面,但它没有工作,我想是因为我提到的原因

这是我的身份验证中间件,负责向路由器添加身份验证:

const jwt = require('jsonwebtoken');

module.exports = function(req, res, next) {
    const token = req.header('auth-token');
    if(!token){
        console.log('Access denied. No token provided.');
        return res.status(401).redirect('/login');
    }
    try{
        const decoded = jwt.verify(token, process.env.TOKEN_SECRET);
        console.log(decoded);
        req.user = decoded;
        console.log('Access approved.');
        next();
    }
    catch(ex){
        console.log('Invalid token');
        res.status(403).redirect('/');
    }
}
我不知道我错过了什么。试图找到一个解决办法,但对我来说没有任何效果。
谢谢你的帮助

能否添加有关路由器的更多详细信息?请尝试使用Cookie(
res.Cookie(…)
)而不是标头。重定向后,您的客户机无法“记住”JWT。使用Cookies tels客户端将每次请求的数据重新发送到域。这是否回答了您的问题?好的,你能解释一下我是如何解决第一个问题的吗?