NodeJS 中如何应用 JWT
- 首先安装
jsonwebtoken
npm install jsonwebtoken --save
- 引入
jsonwebtoken
const jwt = require('jsonwebtoken')
- 封装
jwt.js
const jwtKey = 'dengxiansheng'
const jwtSign = (data) => {
const token = jwt.sign(data, jwtKey, {expiresIn: 60 * 60})
return token
}
const jwtCheck = (req, res, next) => {
const token = req.headers.token
jwt.verify(token, jwtKey, (err, data) => {
if (err) {
res.send({
status: '401',
msg: 'token无效'
})
} else {
req.jwtInfo = data
next()
}
})
}
module.exports = {
jwtSign,
jwtCheck
}
- 登录接口获取token
const {jwtSign} = require('../util/jwt')
const token = jwtSign({_mg_name: body.mg_name})
res.json({
status: 200,
message: '请求成功',
token,
})
- 其他接口验证token
const {jwtCheck} = require('../util/jwt')
router.get('/manager',jwtCheck, (req, res) => {
res.send({
status: 200,
message: '验证token成功',
});
})