koa、koa2中生成token、鉴权

生成token

下载 npm i jsonwebtoken -S

//生成token
cosnt jwt=require('jsonwebtoken')//1、引入
//2、在登录接口生成token
let token=jwt.sign(
    //携带信息
    {user,pas}
    'abc',//秘钥
    {//有效期
        expiresIn:'1h'//1h一小时
    }
)
ctx.body={
    token//3、返回token 是为了挂到请求头上
}
jwt.sign(对象=>保存用户信息,秘钥,token有效期)

鉴权

//鉴权
const auth=async (ctx,next)=>{
    try{//是header,在axios中才是headers
        let {authority}=ctx.request.header//解构
        jwt.verify(authority,'abc')//验证
        
    }catch(err){//try中报错就会走catch,错误信息给err
        ctx.body={
            code:500,
            err
        }
        return;
    }
    await next();//放行函数,继续往下走
}
router.get('/api/edit',auth,async (ctx,next)=>{//在参数里执行
//需要权限才加auth,没有next()放行函数,不会往下走
    ctx.body={
        code:200
    }
})
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值