# 任务:为 ERPTurbo_Poster API 添加身份验证 ## 实施任务列表 ### 1. 创建认证中间件 - [x] 创建 API 密钥验证中间件函数 - [x] 实现从请求头或查询参数提取 API 密钥的逻辑 - [x] 实现 API 密钥验证逻辑(与环境变量中的允许密钥列表对比) ### 2. 更新服务器配置 - [x] 修改 `server.mjs` 文件 - [x] 将认证中间件应用到 `/api/v1/poster` 和 `/api/v1/pdf` 路由 - [x] 确保 `/status` 健康检查路由不需要认证 ### 3. 更新环境变量处理 - [x] 在 `.env.example` 中添加 `ALLOWED_API_KEYS` 示例 - [x] 更新 README.md,说明如何配置 API 密钥 ### 4. 更新 API 文档 - [x] 在 Swagger 文档中添加认证要求说明 - [x] 更新 API 规范文档(在 README 中说明认证方法) ### 5. 测试验证 - [x] 测试无 API 密钥的请求是否被拒绝 - [x] 测试有效 API 密钥的请求是否被接受 - [x] 测试无效 API 密钥的请求是否被拒绝 - [x] 验证健康检查端点是否仍可无需认证访问 - [x] 验证现有功能是否正常工作 ### 6. 部署注意事项 - [x] 更新部署文档(在 README 中包含 API 密钥配置说明) - [x] 考虑向后兼容性,提供无认证的临时选项(通过 DISABLE_API_AUTH 环境变量) ### 7. 验证和验收 - [x] 运行所有测试确保功能正常 - [x] 验证安全措施是否有效 - [x] 确保错误响应不泄露敏感信息