📅  最后修改于: 2023-12-03 15:32:25.543000             🧑  作者: Mango
JsonWebToken是一种开放的标准(RFC 7519),它定义了一种基于JSON的安全令牌格式,可用于在各方之间安全地传输声明。JSON Web Token通常称为JWT,也是一种常见的身份验证和授权机制。
在Javascript中,可以使用jsonwebtoken
库来创建、解密和验证JWT。
使用npm安装jsonwebtoken:
npm install jsonwebtoken --save
使用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。
使用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中包含的字段。