模块的安装和导入
想要生成token,首先要用到jsonwebtoken这个模块:
cnpm i jsonwebtoken --save
安装好这个模块后,接下来就是我们的老规矩,引入模块
const jwt= require('jsonwebtoken');
生成token
这里首先我用payload来定义验证成功后我们生成给用户的token的数据内容,像此处就是定义了返回内容为user的id,name以及avatar(头像);
token里面我用了jsonwebtoken的一个expiresIn的方法作用是定义过期时间,此处token就是在3600s也就是1小时后过期;
secret是我自己写的一个关键字,是这个token的密钥(可以自己设定)。
const payload={id:user.id,name:user.name,avatar:user.avatar};
const token=jwt.sign(payload,'secret',{expiresIn:3600});
返回token
我们正常生成token之后只需要在合适的地方返回token即可:
if(result){
ctx.status=200;
ctx.body={success:true , token: 'Bearer' + token};
//如果账号密码验证成功,则返回状态,并且返回token
}else{
ctx.status=400;
ctx.body={password:'密码错误!'};
}
最后我们用postman进行测试一下:
可以看到验证成功后,后台会返回一个经过加密的token。
版权声明:本文为weixin_52908396原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。