这是第一次基于http域名成功的部署版本0718v1,修改了http与https都兼容的认证方式

This commit is contained in:
baozaotumao2025
2026-07-18 23:18:16 +08:00
parent 1b90e552a5
commit 789d4fc4e9
11 changed files with 62 additions and 20 deletions
+2 -1
View File
@@ -2,7 +2,7 @@
## 测试
`tests/unit` 覆盖脱敏、错误归一化、主题持久化、API 响应校验、认证原子存储、single-flight 续约、幂等重试、401 单次重放、运行数据不变量、结果语义标识和运行进入终态时的最终结果同步。`tests/integration` 验证主题切换、逐条结果筛选与搜索、单条重试结果跨筛选置顶跟踪等页面交互,以及所有 service 到后端路由的映射。
`tests/unit` 覆盖脱敏、错误归一化、主题持久化、API 响应校验、认证原子存储、single-flight 续约、HTTP/HTTPS UUID v4 幂等键生成、幂等重试、401 单次重放、运行数据不变量、结果语义标识和运行进入终态时的最终结果同步。`tests/integration` 验证主题切换、逐条结果筛选与搜索、单条重试结果跨筛选置顶跟踪等页面交互,以及所有 service 到后端路由的映射。
```bash
pnpm test
@@ -15,6 +15,7 @@ pnpm build
- 前端不包含 `TARGET_API_KEY``JUDGE_API_KEY`,也不应在 Vite 变量中暴露它们。
- 完整认证对象保存在 `localStorage` 以支持多标签页原子轮换,不分开写入 access/refresh token;生产环境必须使用 HTTPS 并保持严格 CSP,降低 XSS 窃取风险。
- 续约的待处理 refresh token 和 `Idempotency-Key` 作为一组保存;网络/5xx 失败后不换 key,refresh 401 或用户主动退出才清理凭据。
- HTTP 部署缺少 `crypto.randomUUID()` 时使用 Web Crypto `getRandomValues()` 生成标准 UUID v4;若浏览器连安全随机源也不支持则明确失败,绝不降级为 `Math.random()`
- logger 对 password、token、API key、Authorization 等键及嵌套数据递归脱敏。
- UI 权限控制只用于交互,真实授权必须由后端执行。
- 生产环境应使用 HTTPS,并将后端 CORS 限制为实际前端域名。