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认证失败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值