ERPTurbo_Poster/openspec/changes/archive/2025-11-20-add-api-authentication/proposal.md
shenyifei dc940d2598 feat(api): 添加海报和PDF生成功能
- 新增海报生成接口,支持从网页URL或HTML内容生成海报图像
- 新增PDF生成接口,支持从网页URL或HTML内容生成PDF文档
- 添加Swagger API文档注释,完善接口描述和参数说明
- 实现HTML内容参数支持,允许直接传入HTML结构生成海报/PDF
- 添加输入验证和标准化响应格式
- 引入DOMPurify库对HTML内容进行安全过滤
- 更新环境变量配置,支持API密钥认证和CORS设置
- 优化上传逻辑,统一返回标准响应结构
- 添加构建脚本支持Docker镜像打包和推送
2025-11-20 17:51:35 +08:00

17 lines
836 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Change: 为ERPTurbo_Poster API添加身份验证
## Why
当前ERPTurbo_Poster服务的API接口对所有人开放缺乏身份验证机制这导致了安全风险资源滥用、恶意使用和数据泄露风险。任何用户都可以无限制地调用API生成海报和PDF缺乏访问控制。
## What Changes
- 实施API密钥认证机制要求所有API调用包含有效密钥
- 为/api/v1/poster和/api/v1/pdf端点添加认证中间件
- 支持通过环境变量配置允许的API密钥列表
- 保持健康检查端点(/status)无需认证
- 提供DISABLE_API_AUTH环境变量用于临时禁用认证
## Impact
- Affected specs: authentication (新增)
- Affected code: server.mjs, lib/auth.js, .env.example
- **BREAKING**: API调用现在需要有效的API密钥
- 提升了服务安全性和访问控制能力