# 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信息符合规范 ## 部署准备 - [ ] 环境变量已配置 - [ ] 生产配置已准备 - [ ] 性能优化已完成 - [ ] 监控指标已添加