Javascript 如何在expressjs中设置json web令牌的标题?

Javascript 如何在expressjs中设置json web令牌的标题?,javascript,node.js,Javascript,Node.js,您好,我正在使用express framework在nodeJs中进行模拟身份验证。我正在使用passport jwt和jasonwebtoken进行身份验证。我创建了api,在postman上运行良好。但我卡在前端,无法在前端使用受保护的api。在postman中,我使用头发送令牌,它运行良好。但在前端不工作。如何从前端发送令牌并验证?? 我的代码是: app.post("/login", function(req, res) { if(req.body.name && r

您好,我正在使用express framework在nodeJs中进行模拟身份验证。我正在使用passport jwt和jasonwebtoken进行身份验证。我创建了api,在postman上运行良好。但我卡在前端,无法在前端使用受保护的api。在postman中,我使用头发送令牌,它运行良好。但在前端不工作。如何从前端发送令牌并验证?? 我的代码是:

app.post("/login", function(req, res) {
  if(req.body.name && req.body.password){
    var name = req.body.name;
    var password = req.body.password;
  }

  var user = users[_.findIndex(users, {name: name})];
  if( ! user ){
    res.status(401).json({message:"no such user found"});
  }

  if(user.password === req.body.password) {

    var payload = {id: user.id};
    var token = jwt.sign(payload, jwtOptions.secretOrKey);
    res.json({message: "ok", token: token});
  } else {
    res.status(401).json({message:"passwords did not match"});
  }
});
如果令牌有效,则此post方法应重定向到此页面

app.get("/secret", passport.authenticate('jwt', { session: false }), function(req, res){
        res.json("Success! You can not see this without a token");

  });

jwToken来自何处??jwToken来自何处??您正在请求的正文或标题中发送用户名和密码?在body中,我使用body解析器从那里获取。您的问题解决了吗?您正在请求的正文或标题中发送用户名和密码?在body中,我使用body解析器从那里获取。您的问题解决了吗?
npm install cookie-parser

var cookieParser = require('cookie-parser') 
app.use(cookieParser())
app.use(function (req, res, next) {
var cookie = req.cookies.jwtToken;
if (!cookie) {
    res.cookie('jwtToken', theJwtTokenValue, 
             { maxAge: 900000, httpOnly: true });
} else {
    console.log('let's check that this is a valid cookie');
    // send cookie along to the validation functions...
}
next();
});