node.js如何生成一个有过期时间的token给vue前端用于登录验证
时间: 2024-06-12 12:06:27 浏览: 172
在node.js中,可以使用jsonwebtoken库来生成带有过期时间的token。下面是一个简单的示例代码:
```javascript
const jwt = require('jsonwebtoken');
const secretKey = 'your-secret-key'; // 替换为你自己的密钥
// 生成token,有效期为1小时
const generateToken = (userId) => {
const payload = { userId };
const options = { expiresIn: '1h' };
return jwt.sign(payload, secretKey, options);
};
// 验证token是否有效
const verifyToken = (token) => {
try {
const decoded = jwt.verify(token, secretKey);
return decoded.userId;
} catch (err) {
return null;
}
};
// 使用示例
const token = generateToken('123456');
console.log('token:', token);
const userId = verifyToken(token);
console.log('userId:', userId);
```
在Vue前端中,可以将token存储在localStorage中,并在每次请求后台时将token设置在请求头Authorization中。后台可以通过解析Authorization头来验证token的有效性。
阅读全文