Node—JWT登录及权限控制

npm install jsonwebtoken express-jwt

index.js

const expressJWT = require('express-jwt')
const secretKey='gzui'

注意顺序

app.use(cors({ origin: '*' }));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
const unlessArr = ['/api/user/login'];
app.use(expressJWT({ secret: secretKey,algorithms:['HS256'] }).unless({ path: unlessArr }))
app.use(api)
// 使用全局错误处理中间件,捕获解析 JWT 失败后产生的错误
app.use((err, req, res, next) => {
    console.log('这次错误是由 token 解析失败导致的',err)
  // 这次错误是由 token 解析失败导致的
  if (err.name === 'UnauthorizedError') {
    return res.send({
      status: 401,
      message: '无效的token',
    })
  }
  res.send({
    status: 500,
    message: '未知的错误',
  })
})

api.js

const jwt=require('jsonwebtoken')
const secretKey='gzui';
router.post('/api/user/login', function (req, res) {
  // 将 req.body 请求体中的数据,转存为 userinfo 常量
  const userinfo = req.body
//   console.log('req.body',req.body)
  Users.find({name: req.body.name, password: req.body.password},(err,d
剩余50%内容付费后可查看
THE END
分享
二维码
打赏
< <上一篇
下一篇>>