前端设置token90天有效期
时间: 2024-11-11 20:25:23 浏览: 5
前端token值时效性问题怎么解决?
5星 · 资源好评率100%
在前端设置token的有效期通常是通过JavaScript来进行管理的,特别是在使用JSON Web Tokens (JWT)时,因为JWT默认会包含一个`exp` (expiration time) 字段来表示过期时间。如果你想让token在90天后失效,你可以这样做:
1. **生成JWT**: 当用户登录成功时,服务端返回一个包含`exp`字段的JWT。这里的`exp`通常是以当前时间加上90天的Unix时间戳。
```javascript
const jwt = require('jsonwebtoken');
const expiresIn = '90d'; // 设置有效期为90天
function generateToken(userId) {
const token = jwt.sign({ userId }, 'secretKey', { expiresIn });
return token;
}
```
2. **存储与验证**: 在客户端,你需要妥善存储这个token,并在每次需要鉴权的请求头中发送它。例如,在浏览器中可以使用localStorage或cookie。
```javascript
function setToken(token) {
localStorage.setItem('token', token);
}
function getToken() {
return localStorage.getItem('token') || null;
}
// 使用时检查token是否已过期
async function checkTokenIsValid() {
const token = getToken();
if (!token || !jwt.verify(token, 'secretKey')) {
// Token无效或已过期,处理错误或刷新token
}
}
```
阅读全文