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('沒有權限');
}
});

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章