📅  最后修改于: 2023-12-03 15:09:03.753000             🧑  作者: Mango
在使用 JWT(JSON Web Token)作为身份验证和授权机制时,令牌的过期时间是一个非常重要的参数。设置合适的过期时间可以防止令牌长期有效,提高系统的安全性。
本文将介绍如何在 Node.js 中设置 JWT 令牌的过期时间。
以下是在 Node.js 中设置 JWT 令牌过期时间的步骤:
npm install jsonwebtoken
expiresIn
参数指定过期时间(以秒为单位),例如:const jwt = require('jsonwebtoken');
const token = jwt.sign({ id: user.id }, process.env.JWT_SECRET, { expiresIn: 3600 });
上述代码中,使用 jwt.sign(payload, secretOrPrivateKey, [options, callback])
方法生成 JWT 令牌,其中 payload
表示需要保存在 JWT 中的数据,secretOrPrivateKey
表示用于签名的密钥,options
是一个可选的对象,包含 expiresIn
参数,表示过期时间,单位为秒,例如上面的代码中过期时间为 1 小时。
jwt.verify(token, secretOrPublicKey, [options, callback])
方法验证过期时间,例如:const jwt = require('jsonwebtoken');
const decoded = jwt.verify(token, process.env.JWT_SECRET, { maxAge: '1h' });
上述代码中,使用 jwt.verify(token, secretOrPublicKey, [options, callback])
方法验证 JWT 令牌,其中 token
是需要验证的令牌,secretOrPublicKey
是用于验证签名的密钥,options
是一个可选的对象,包含 maxAge
参数,表示最大过期时间,例如上面的代码中最大过期时间为 1 小时。
本文介绍了如何在 Node.js 中设置 JWT 令牌的过期时间。通过正确地设置过期时间,可以提高系统的安全性,防止令牌长期有效,保护用户的隐私数据。