在学习node中时使用的express-jwt 6.0.0以上版本出现的问题
package.json文件

{
  "dependencies": {
    "cors": "^2.8.5",
    "express": "^4.17.0",
    "express-jwt": "^7.7.5",
    "express-session": "^1.17.3",
    "jsonwebtoken": "^8.5.1",
    "mysql": "^2.18.1"
  }
}

创建的test.js文件代码

const express = require('express')
const app = express()
const jwt = require("jsonwebtoken") // 导入jwt
const { expressjwt } = require("express-jwt"); //从express-jwt中解构
const port = 3000
const secretKEY = "lyc12138" //密钥
app.use(expressjwt({ secret:secretKEY,algorithms: ["HS256"]}).unless({path:[/^\/api\//] })) //使用express-jwt这个中间件 排除路径为api/login
app.post("/api/login",(req,res)=>{
    // 获得token
   const token = jwt.sign({username :"lyc"},secretKEY,{expiresIn:"60s"})
    res.send({
        status:200,
        msg:"success",
        token
    })
})
app.get("/api/protected",(req, res)=> {
    // 即可在非排除路径下获得解密后的用户信息 通过req.auth 获取。相当于 express—jwt 6.X版本下的req.user
      console.log('req',req.auth)
      res.send({
        status:200,
        message:'获取用户信息成功',
        data:req.auth
      })
    }
  );
//   捕获错误的路由需要放在所有路由的后面
  app.use((err, req, res, next)=> {
      if(err.name == "UnauthorizedError"){
        res.status(401).send("无效的token...");
      }else {
        next(err);
      }
  });
app.listen(port, () => console.log(`Example app listening on port http://127.0.0.1:${port}!`))

存在的问题:通过postman进行解析时req.auth时,获取不到,用户信息,有知道原因的大佬,帮忙指点下,小弟不胜感激
无法获取到解析的req.auth


版权声明:本文为weixin_46231779原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_46231779/article/details/126982228