首页 > 解决方案 > 如何将标头身份验证承载中的令牌发送到浏览器

问题描述

这是我在帮助登录路由器中的代码,所以我在确认登录后尝试将 cookie 设置为浏览器

exports.signin = (req,res) => {
        db.User.findOne({email:req.body.email}).then(user => {
            user.comparePassword(req.body.password,function(err,isMatch){
                if(isMatch){
                    let token = jwt.sign({userId: user.id},process.env.SECRET_KEY,{ expiresIn: 60*5 });
                    res.setHeader() //here I wanna send header Bearer to the browser 
                } else {
                    res.status(400).json({message:"Incorrect Password!"});
                }
            })
        })
        .catch(err => {
            return res.status(404).send('No user found.');  
        })**strong text**
    }

标签: node.jsexpresscookiesjwtrestful-authentication

解决方案


在 Node.js res.setHeader() 和 Express js 中 res.header() 是 res.set() 方法的别名。

您可以通过以下方式使用:

res.setHeader('Authorization', 'Bearer '+ token); 
res.header('Authorization', 'Bearer '+ token);

但我建议您阅读 jwt 示例(angularjs & node):https ://code.tutsplus.com/tutorials/token-based-authentication-with-angularjs-nodejs--cms-22543


推荐阅读