14 Star 80 Fork 23

北京大学-张齐勋 / 移动端开发入门实践

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
NodeJS_JWT.md 1.09 KB
一键复制 编辑 原始数据 按行查看 历史
张齐勋 提交于 2021-04-27 13:34 . update
// 引入模块依赖
const fs = require('fs');
const path = require('path');
const jwt = require('jsonwebtoken');

//生成token
generateToken(data) {
        let created = Math.floor(Date.now() / 1000);
        let cert = fs.readFileSync(path.join(__dirname, '../pem/private_key.pem'));//私钥
        let token = jwt.sign({
            data,
            exp: created + 60 * 30,
        }, cert, {algorithm: 'RS256'});
        return token;
}

// 校验token
verifyToken(token) {
        let cert = fs.readFileSync(path.join(__dirname, '../pem/public_key.pem'));//公钥
        let res;
        try {
            let result = jwt.verify(token, cert, {algorithms: ['RS256']}) || {};
            let {exp = 0} = result, current = Math.floor(Date.now() / 1000);
            if (current <= exp) {
                res = result.data || {};
            }
        } catch (e) {
            res = 'err';
        }
        return res;
}


module.exports = {
    generateToken,
    verifyToken
};

解构赋值语法

var o = {p: 42, q: true};
var {p, q} = o;

console.log(p); // 42
console.log(q); // true
JavaScript
1
https://gitee.com/ss-pku/webdev.git
git@gitee.com:ss-pku/webdev.git
ss-pku
webdev
移动端开发入门实践
master

搜索帮助