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成功' ,
} ) ;
} )