mirror of
https://github.com/ZeroCatDev/ClassworksKV.git
synced 2025-12-07 13:03:09 +00:00
- Added refresh token support in the account model with new fields: refreshToken, refreshTokenExpiry, and tokenVersion. - Created a new token management utility (utils/tokenManager.js) for generating and verifying access and refresh tokens. - Updated JWT utility (utils/jwt.js) to maintain backward compatibility while introducing new token generation methods. - Enhanced middleware for JWT authentication to support new token types and automatic token refreshing. - Expanded API endpoints in routes/accounts.js to include refresh token functionality, logout options, and token info retrieval. - Introduced automatic token refresh mechanism in the front-end integration examples. - Comprehensive migration checklist and documentation for the new refresh token system. - Added database migration script to accommodate new fields in the Account table.
3.0 KiB
3.0 KiB
Refresh Token系统迁移检查清单
🔧 服务端迁移
数据库
- 运行Prisma迁移:
npx prisma migrate dev --name add_refresh_token_system - 验证Account表新增字段: refreshToken, refreshTokenExpiry, tokenVersion
环境配置
- 添加
ACCESS_TOKEN_EXPIRES_IN=15m - 添加
REFRESH_TOKEN_EXPIRES_IN=7d - 添加
REFRESH_TOKEN_SECRET=your-refresh-token-secret - (可选)配置RSA密钥对
代码验证
utils/tokenManager.js文件已创建utils/jwt.js已更新(保持向后兼容)middleware/jwt-auth.js已升级routes/accounts.js新增refresh相关端点
🖥️ 前端迁移
OAuth回调处理
- 更新回调URL参数解析(支持access_token和refresh_token)
- 保持对旧版token参数的兼容性
- 实现TokenManager类
Token管理
- 实现Token刷新逻辑
- 添加请求拦截器检查X-New-Access-Token响应头
- 实现401错误自动重试机制
- 添加登出功能(单设备/全设备)
存储策略
- Access Token存储(localStorage/sessionStorage)
- Refresh Token安全存储
- 实现Token清理逻辑
🧪 测试验证
功能测试
- OAuth登录流程测试
- Token自动刷新测试
- 手动refresh接口测试
- 登出功能测试(单设备)
- 登出功能测试(全设备)
- Token信息查看测试
兼容性测试
- 旧版JWT token仍然有效
- 新旧token混合使用场景
- API向后兼容性验证
错误处理测试
- 过期token处理
- 无效refresh token处理
- 网络错误重试
- 并发刷新场景
📊 监控配置
日志记录
- Token生成日志
- Token刷新日志
- 认证失败日志
- 登出操作日志
性能监控
- Token刷新频率统计
- API响应时间监控
- 数据库查询性能
🔒 安全检查
Token安全
- 密钥强度验证
- Token过期时间配置合理
- HTTPS传输确认
- 敏感信息不在日志中暴露
访问控制
- Token撤销功能正常
- 版本控制机制有效
- 设备隔离正确
📚 文档检查
- API文档已更新
- 前端集成指南已提供
- 迁移步骤文档完整
- 错误处理指南清晰
🚀 上线准备
部署前
- 代码review完成
- 单元测试通过
- 集成测试通过
- 性能测试通过
部署时
- 数据库迁移执行
- 环境变量配置
- 服务重启验证
- 健康检查通过
部署后
- 新用户登录测试
- 现有用户功能正常
- 监控指标正常
- 错误日志检查
🔄 回滚计划
紧急回滚
- 回滚代码到上一版本
- 恢复原环境变量
- 数据库回滚方案(如需要)
数据迁移回滚
- 备份新增字段数据
- 移除新增字段的迁移脚本
- 验证旧版功能正常
检查完成人员: ___________ 检查完成时间: ___________ 环境: [ ] 开发 [ ] 测试 [ ] 生产