- 从服务器拉取完整代码 - 按框架规范整理项目结构 - 配置 Drone CI 测试环境部署 - 包含后端(FastAPI)、前端(Vue3)、管理端 技术栈: Vue3 + TypeScript + FastAPI + MySQL
2.9 KiB
2.9 KiB
Agent-Auth 开发检查清单
开发前准备
- 阅读并理解
prompt.md中的所有要求 - 熟悉
context.md中的项目结构和依赖 - 查看
api_contract.yaml了解API规范 - 设置开发环境,安装所有依赖
- 创建 feature/auth 分支
核心功能开发
1. 数据库模型
- 创建
app/models/user.py用户模型 - 继承 BaseModel 和 AuditMixin
- 添加必要的索引
- 创建数据库迁移脚本
2. Schema定义
- 创建
app/schemas/auth.py - 定义 UserLogin schema
- 定义 UserRegister schema
- 定义 Token schema
- 添加输入验证规则
3. 安全功能
- 完善
app/core/security.py - 实现密码加密函数
- 实现密码验证函数
- 实现JWT Token生成
- 实现JWT Token验证
4. 依赖注入
- 创建/完善
app/api/deps.py - 实现 get_current_user
- 实现 get_current_active_user
- 实现角色检查器(require_admin等)
5. 业务服务
- 创建
app/services/auth_service.py - 实现用户认证逻辑
- 实现用户创建逻辑
- 实现Token管理逻辑
- 添加错误处理
6. API路由
- 创建
app/api/v1/auth.py - 实现登录端点
- 实现注册端点
- 实现登出端点
- 实现Token刷新端点
- 实现密码重置端点
7. 中间件和异常
- 实现认证中间件
- 添加请求限流
- 处理认证异常
测试开发
单元测试
- 创建
tests/unit/test_auth_service.py - 测试密码加密和验证
- 测试Token生成和验证
- 测试用户认证逻辑
- 测试用户创建逻辑
集成测试
- 创建
tests/integration/test_auth_api.py - 测试登录流程
- 测试注册流程
- 测试Token刷新
- 测试权限验证
性能测试
- 测试登录响应时间
- 测试Token验证性能
- 测试并发登录
安全检查
- 密码使用bcrypt加密
- Token设置合理过期时间
- 实现登录失败限制
- 防止暴力破解
- SQL注入防护
- XSS防护
文档更新
- 更新API文档
- 添加使用示例
- 更新README
- 编写部署说明
代码质量
- 运行
make format格式化代码 - 运行
make lint检查代码风格 - 运行
make type-check类型检查 - 运行
make test所有测试通过 - 代码覆盖率 > 80%
集成验证
- 与其他模块集成测试
- 验证依赖注入正常工作
- 验证中间件正常拦截
- 验证日志记录完整
提交前确认
- 所有功能已实现
- 所有测试通过
- 文档已更新
- 代码已审查
- 没有硬编码的密钥
- 没有调试代码
- commit信息符合规范
部署准备
- 环境变量已配置
- 生产配置已准备
- 性能优化已完成
- 监控指标已添加