Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

nodejs jwt

作者:我说°走了就别回来   发布日期:2025-12-02   浏览:47

// 引入必要的模块
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');
}

解释说明:

  1. 引入模块:我们使用 jsonwebtoken 模块来处理 JWT 的创建和验证。
  2. 定义密钥secretKey 是用于签名和验证 JWT 的密钥,必须保密。
  3. 创建 JWTcreateToken 函数接收用户信息,生成一个带有有效载荷的 JWT,并设置其过期时间为 1 小时。
  4. 验证 JWTverifyToken 函数接收一个 JWT 并验证其有效性。如果有效,则返回解码后的载荷;否则返回 null
  5. 示例代码:展示了如何创建和验证 JWT,并打印结果。

希望这段代码对你有帮助!

上一篇:js 请求接口

下一篇:js 字符串转long

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组连接

js json数组

js 数组复制

js 复制数组

js 数组拷贝

js 对象数组合并

js 对象转数组

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站