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,data) => { if (err) { // res.send(err);
剩余50%内容付费后可查看