📅  最后修改于: 2023-12-03 14:50:36.253000             🧑  作者: Mango
JWT(JSON Web Token)是一种标准的用于在网络上传输信息的JSON格式,常用于身份验证和授权。
在Web应用程序中,JWT通常用于以下情况:
对于开发人员而言,要发布JWT令牌,通常需要实现以下步骤:
安装 JSON Web Tokens 包,通常称为 jwt。
npm install jsonwebtoken --save
使用 JWT 创建令牌的基本语法是:jwt.sign(payload, secret, [options, callback])
。
const jwt = require('jsonwebtoken');
// 生成 JWT 令牌
const token = jwt.sign({ _id: '1234567890' }, 'my-secret-key');
console.log(token); //eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
当您收到来自客户端请求的 JWT 后,很可能需要验证此 JWT 是否有效。
JWT 提供了一种 'verify' 方法来验证JWT的有效性:jwt.verify(token, secretOrPublicKey, [options, callback])
。
const jwt = require('jsonwebtoken');
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
// 验证 JWT 令牌
jwt.verify(token, 'my-secret-key', (err, decoded) => {
if (err) {
console.error('验证失败', err);
} else {
console.log('验证成功', decoded);
}
});
以上代码将在控制台上输出:
验证成功 { _id: '1234567890', iat: 1516239022 }
在以上代码中,我们使用 JSON Web Tokens 包发布 JWT 令牌。您需要执行以下步骤:
jwt.sign()
创建 JWT 令牌。jwt.verify()
验证 JWT 令牌。希望这个简短的介绍对您有所帮助。Happy Coding!