egg基于jwt的接口权限验证

JWT 全称 JSON Web Token ,是目前比较流行的另一种跨域身份验证解决方案。也是被很多人用坏的一种安全验证机制。
 
 

1.安装 jsonwebtoken 

cnpm install jsonwebtoken --save

2.安装basic-auth ,获取客户端请求头传过来的token

npm install basic-auth --save

3.生成 tooken 

var jwt = require('jsonwebtoken');
router.get('/', function (req, res, next) {
var token = jwt.sign({ name: '张三',uid:1 }, '自定义加密文',{
expiresIn:60  //过期时间60秒
});
res.send(token);
});

4.获取客户端传过来的token

router.get('/addressList', function (req, res, next) {
var tooken = auth(req);
})

5.验证touken

router.get('/addressList', function (req, res, next) {
var tooken = auth(req);
if (tooken) {
try {
var v = jwt.verify(tooken.name, '自定义加密文');
console.log(v);
if (v) {
res.send('有权限');
} else {
res.send('没有权限');
}
} catch (error) {
res.send(error);
}
}else{
res.send('没有权限');
}
});

 

 

 

 

你可能感兴趣的:(egg)