📜  jsonwebtoken - Javascript (1)

📅  最后修改于: 2023-12-03 15:32:25.543000             🧑  作者: Mango

JsonWebToken - Javascript

介绍

JsonWebToken是一种开放的标准(RFC 7519),它定义了一种基于JSON的安全令牌格式,可用于在各方之间安全地传输声明。JSON Web Token通常称为JWT,也是一种常见的身份验证和授权机制。

在Javascript中,可以使用jsonwebtoken库来创建、解密和验证JWT。

安装

使用npm安装jsonwebtoken:

npm install jsonwebtoken --save
创建JWT

使用jsonwebtoken库中的sign方法创建JWT:

const jwt = require('jsonwebtoken');
const token = jwt.sign({ id: '1234567890' }, 'my_secret_key', { expiresIn: '1h' });
console.log(token); // 输出JWT

上述代码创建了一个JWT,其中包含一个ID字段,并使用my_secret_key进行签名,最后设置JWT的过期时间为1小时。sign方法返回JWT。

验证JWT

使用jsonwebtoken库中的verify方法验证JWT:

const jwt = require('jsonwebtoken');
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEyMzQ1Njc4OTAiLCJpYXQiOjE2MTM5MDA1MTcsImV4cCI6MTYxMzkwNDMxN30.c9fc8avepL-rgzrw850Zs6O7IW_xN6hJ-nrCiztrHcc';
const secret = 'my_secret_key';
jwt.verify(token, secret, (err, decoded) => {
  if (err) {
    console.error('JWT验证失败:', err);
    return;
  }
  console.log('JWT验证成功:', decoded);
});

上述代码验证了一个JWT,并在验证成功时输出JWT中包含的字段。

参考资料