Loading......
jwt 加签与解签
在工具栏文件夹创建 jwt.js
安装依赖,在终端 npm i jsonwebtoken --save 进行安装
安装完成后在 .env 中配置密钥:
加签:
解签:
测试:
在终端输入 node jwt.js 即可测试
详细代码:
.env
# server
HOST = localhost
PORT = 8000
# mysql
DB_NAME = gt_v1
DB_USERNAME = root
DB_PASSWORD = 123456
DB_DIALECT = mysql
DB_HOST = localhost
DB_PORT = 3306
# jwt
JWT_SECRET = gt_v1_jwt_secret
jwt.js
require("dotenv").config({ path: "../../.env" });
const jwt = require("jsonwebtoken");
//加签
const sign = async (username, email) => {
return new Promise((resolve, reject) => {
jwt.sign(
{
username,
email,
},
process.env.JWT_SECRET,
(err, token) => {
console.log(token);
if (err) {
console.log(err);
return reject(err);
}
resolve(token);
}
);
});
};
//解签
const decode = async (token) => {
return new Promise((resolve, reject) => {
jwt.verify(token, process.env.JWT_SECRET, (err, decoded) => {
if (err) {
return reject(err);
}
return resolve(decoded);
});
});
};
module.exports = { sign, decode };
//测试
const test = async () => {
const data = {
username: "admin",
email: " admin@qq.com",
};
const { username, email } = data;
const token = await sign(username, email);
console.log("token is:", token);
const decoded = await decode(token);
console.log("DEcoded:", decoded);
};
test();
未完待续......