我试图解码通过jwt创建的令牌,以便我可以访问我的反应页面中的值并使用它。但由于某种原因,它显示“InvalidTokenError:指定的无效令牌:无法读取未定义的属性'替换'”这个错误,我真的需要帮助,非常感谢任何回答这个问题的人。
react.js中的前端,解码token
useEffect(()=>{
const token=localStorage.usertoken
const decoded = jwt_decode(token);
setinfo({
id:decoded._id,
email:decoded.email,
username:decoded.username,
})
},[])
后端 node.js
router.get("/info",authenticateToken,(req,res)=>{
UserProfile.findOne({_id: req.user._id})
.then(user=>{
console.log(user);
if(user){
res.json(user)
} else {
res.send("User does not exist")
}
})
.catch(err=>{
res.send("error:"+err);
})
})
function authenticateToken(req,res,next){
const authHeader= req.headers['authorization']
const token = authHeader && authHeader.split(' ')
if(token == null) return res.sendStatus(401)
jwt.verify(token,secretkey,(err,user)=>{
if(err) return res.sendStatus(403)
req.user = user
next();
})
}