koa框架中jwt的使用(jsonwebtoken)

一、安装jsonwebtoken、koa-jwt

yarn add jsonwebtoken koa-jwt
或
npm install jsonwebtoken koa-jwt

先安装 jsonwebtoken 和 koa-jwt 后面需要导入使用

二、使用步骤

1.登录接口:生成token

代码如下(示例):
上图表示在登录接口请求成功后,使用jwt.sign生成token并一起返回给前端

const token = jwt.sign({
  data	//用户数据
},'vueManager',{expiresIn:10})	
//expiresIn表示token失效时间,为数字时秒做单位,也可用字符串'1h''1d'表示一小时 一天

2.验证token

在app.js文件进行拦截:

const koaJwt = require('koa-jwt')
// logger
app.use(async (ctx, next) => {
  await next().catch((err)=>{
    if(err.status == '401'){
      ctx.status = 200;
      ctx.body = util.fail('Token认证失败',util.CODE.AUTO_ERROR)
    }
  })
})

//在next() 前过滤接口 验证token是否过期-如果过期抛出异常401  unless跳过检测登录接口
app.use(koaJwt({secret:'vueManager'}).unless({
  path:[/^\/api\/users\/login/]		
}))

上图表示在中间件next()前先验证token是否过期,如果异常的话会抛出401状态,然后再next中处理401,即将状态码改为200,然后返回前端报错信息为Token认证失败


版权声明:本文为weixin_44206947原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。