登录接口②(生成token——jsonwebtoken模块的应用)

模块的安装和导入

想要生成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版权协议,转载请附上原文出处链接和本声明。