jwt授权标头丢失



用户登录后,我为他签名一个jwt。然后,我的中间件试图通过获取授权标头来验证令牌,但存在这样的标头。我试图打印请求标头,但它未定义登录代码:


const login = require("express").Router();
const signUpTemplate = require('../src/Backend/SignupModel')
const bcrypt = require('bcrypt')
const jwt = require('jsonwebtoken');
login.post("/login", async function (request, response) {
try{
const {Email,password} = request.body
console.log({Email,password});
console.log('before finding');
signUpTemplate.findOne({Email:Email}).then(async (user) => {
if(!user){
console.log('found user');
console.log('username/password is not exist');
response.status(400).send({msg:"username/password is not exist"})
}
else{
if(await bcrypt.compare(password, user.password)){
const token = jwt.sign(
{ user_id: user.id, Email },
process.env.TOKEN_KEY,
{
expiresIn: "2h",
}
);
user.token = token;
response.status(200).json(user);
}
else{
console.log('username/password is not exist');
response.status(400).send({msg:"username/password is not exist"})
}
}
})
}
catch(e){
console.error(e);
}
});
module.exports = login;

const verifyJwt = (req,res,next) => {
console.log('entered middle');
console.log(req.headers);
console.log(req.headers['authorization']);
// const authHeader = req.headers['authorization'];
// if (!authHeader) return res.sendStatus(401);
return res.status(200).send('test works');
}
module.exports = verifyJwt

如果我尝试在中间件console.log(req.headers['authorization'])中打印其未定义的

愚蠢的错误,我没有在来自客户端的api请求中发送auth头:(

最新更新