本片文章倾向于讲解jwt鉴权如何运用,不深入讲解原理。
首先:
yarn add koa-jwt
yarn add jsonwebtoken
然后在你的app.js里面
app.use(
jwtKoa({
secret: "加密的字符串"
}).unless({
path: [/^\/users\/login/] // 自定义那些目录忽略jwt验证
})
)
到这一步,你的路由就已经可以实现没有token,会无法访问了
接下来,如何获取token加密的信息
router.get('/getUserInfo', async (ctx, next) => {
const token = ctx.header.token
try {
const payload = await verify(token, SECRET)
ctx.body = {
errno: 0,
userInfo: payload
}
} catch (error) {
ctx.body = {
errno: -1,
msg: 'verify token failed'
}
}
})
结果: