- 新增海报生成接口,支持从网页URL或HTML内容生成海报图像 - 新增PDF生成接口,支持从网页URL或HTML内容生成PDF文档 - 添加Swagger API文档注释,完善接口描述和参数说明 - 实现HTML内容参数支持,允许直接传入HTML结构生成海报/PDF - 添加输入验证和标准化响应格式 - 引入DOMPurify库对HTML内容进行安全过滤 - 更新环境变量配置,支持API密钥认证和CORS设置 - 优化上传逻辑,统一返回标准响应结构 - 添加构建脚本支持Docker镜像打包和推送
1.4 KiB
1.4 KiB
任务:为 ERPTurbo_Poster API 添加身份验证
实施任务列表
1. 创建认证中间件
- 创建 API 密钥验证中间件函数
- 实现从请求头或查询参数提取 API 密钥的逻辑
- 实现 API 密钥验证逻辑(与环境变量中的允许密钥列表对比)
2. 更新服务器配置
- 修改
server.mjs文件 - 将认证中间件应用到
/api/v1/poster和/api/v1/pdf路由 - 确保
/status健康检查路由不需要认证
3. 更新环境变量处理
- 在
.env.example中添加ALLOWED_API_KEYS示例 - 更新 README.md,说明如何配置 API 密钥
4. 更新 API 文档
- 在 Swagger 文档中添加认证要求说明
- 更新 API 规范文档(在 README 中说明认证方法)
5. 测试验证
- 测试无 API 密钥的请求是否被拒绝
- 测试有效 API 密钥的请求是否被接受
- 测试无效 API 密钥的请求是否被拒绝
- 验证健康检查端点是否仍可无需认证访问
- 验证现有功能是否正常工作
6. 部署注意事项
- 更新部署文档(在 README 中包含 API 密钥配置说明)
- 考虑向后兼容性,提供无认证的临时选项(通过 DISABLE_API_AUTH 环境变量)
7. 验证和验收
- 运行所有测试确保功能正常
- 验证安全措施是否有效
- 确保错误响应不泄露敏感信息