介绍:tooken(令牌)通常用来在不同主机或不同系统之间实现用户身份校验的,而JWT数据技术是用来生成token的技术之一;
什么是JWT?
json Web Token: JWT,由三部分组成,则三部分之间使用远点连接,比如:A.B.C
A:header头部,格式如:{alg:'加密算法',type:'JWT'}
B: payload有效载荷,用来存放用户自定义数据,比如:将登陆成功的账号及账号id放在又凶啊载荷中;
C:signature签名, C=加密算法(加密算法(A).加密算法(B));
使用步骤:
(1)安装jsonwebtoken
npm i jsonwebtoken
(2)代码案例
//密钥
lwt curKeys = 'asgdfuiolqw1';
//生成JWT数据:jwt.sign(自定义数据,密钥,{选项});
//uid:已经登陆的用户id
//username:已经登陆的用户名
module.exports.createJWT = function(uid,username){
//expirseIn:设置JWT数据的有效时间,时间单位为:秒
return jwt.sign({uid,username},curKeys,{expiresIn: 60 * 60 *2});
}
//使用JWT数据:jwt.verify(jwt数据,密钥);
module.exports.useJWT = function(jwtData){
try{
let obj = jwt.verify(jwtData,curKeys);
if(obj){
return obj;
}else{
return false;
}
}catch(e){
return false;
}
}
}