在业界和主流框架中,accessToken 和 refreshToken 的有效期设置通常如下:
1. accessToken(访问令牌)
- 有效期一般较短,常见设置为:
- 15分钟(900秒)
- 30分钟(1800秒)
- 1小时(3600秒)
- 目的是提升安全性,减少令牌泄露风险。
2. refreshToken(刷新令牌)
- 有效期较长,常见设置为:
- 7天
- 14天
- 30天
- 允许用户在 accessToken 过期后无需重新登录,通过 refreshToken 换取新 accessToken。
3. 时间比例建议
- 比例通常为 1:48 ~ 1:336
- 例如 accessToken 1小时,refreshToken 2天~2周。
- 典型设置:
- accessToken:1小时
- refreshToken:14天
- 比例约为 1:336
4. 实际建议
- accessToken:15~60分钟
- refreshToken:7~30天
- 可根据业务安全需求调整,越敏感的系统 accessToken 越短。
示例代码:
// accessToken 有效期
var accessTokenExpires = DateTime.UtcNow.AddMinutes(30); // 30分钟
// refreshToken 有效期
var refreshTokenExpires = DateTime.UtcNow.AddDays(14); // 14天
总结:
accessToken 有效期短(1560分钟),refreshToken 有效期长(730天),比例约 1:336。
实际可根据安全和用户体验需求灵活调整。