// 引入必要的模块
const jwt = require('jsonwebtoken');
// 定义一个密钥,用于签名和验证 JWT
const secretKey = 'your_secret_key';
// 创建一个JWT的函数
function createToken(user) {
// 定义载荷(payload),包含用户信息和其他需要的数据
const payload = {
id: user.id,
username: user.username
};
// 使用 jwt.sign 方法生成 token
const token = jwt.sign(payload, secretKey, { expiresIn: '1h' }); // 设置 token 的过期时间为 1 小时
return token;
}
// 验证 JWT 的函数
function verifyToken(token) {
try {
// 使用 jwt.verify 方法验证 token
const decoded = jwt.verify(token, secretKey);
return decoded; // 返回解码后的载荷
} catch (err) {
// 如果验证失败,抛出错误
return null;
}
}
// 示例:创建并验证 JWT
const user = { id: 1, username: 'exampleUser' };
const token = createToken(user);
console.log('Generated Token:', token);
const decoded = verifyToken(token);
if (decoded) {
console.log('Decoded Token:', decoded);
} else {
console.log('Invalid Token');
}
jsonwebtoken 模块来处理 JWT 的创建和验证。secretKey 是用于签名和验证 JWT 的密钥,必须保密。createToken 函数接收用户信息,生成一个带有有效载荷的 JWT,并设置其过期时间为 1 小时。verifyToken 函数接收一个 JWT 并验证其有效性。如果有效,则返回解码后的载荷;否则返回 null。希望这段代码对你有帮助!
上一篇:js 请求接口
下一篇:js 字符串转long
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站