写在前面
有关于jwt的相关介绍,请各位自己百度,自行脑补,本文主要介绍在eggjs中如何使用jwt
目前使用最广泛jwt的node库为Json Web Token,仓库地址为:github.com/auth0/node-…
安装
初始化eggjs项目后,进入项目目录下,执行以下命令:
npm install jsonwebtoken
复制代码
使用
在service目录下,新建token.js文件:
'use strict';
const Service = require('egg').Service;
const jwt = require('jsonwebtoken');
class TokenService extends Service {
async signJwt(_id) {
return jwt.sign({
data: {
_id,
},
exp: Math.floor(Date.now() / 1000) + (60 * 60 * 24 * 7),
}, 'this is secert key, you can replace it!');
}
async decodeJwt(token) {
try {
return jwt.verify(token, 'this is secert key, you can replace it!');
} catch (err) {
return err;
}
}
}
module.exports = TokenService;
复制代码