Clone
3
Task-46-交付管理端-API-Key-治理页面
ila edited this page 2026-08-25 10:39:46 +08:00
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.

46 交付管理端 API Key 治理页面

  • 类型:需求
  • 所属 Epic:#3
  • 所属 MVP / 版本:#35 / MVP-2
  • 状态:已完成
  • 日期:2026-08-25
  • Gitea 工单:#46
  • 实现提交:d59c340

背景与目标

按已确认的 #37 v1 原型,在 go-admin-ui 提供 API 密钥元数据列表、筛选、分页、详情安全事件和管理员撤销交互。管理端不能显示、缓存或拼接完整用户密钥,也不提供代用户创建密钥的能力。

最终方案

  • 复用 000006 已建立并由 000007 中文化的“Chorus 运营 → API 密钥”菜单、角色与 Casbin 权限,不增加迁移。
  • 列表使用 #45 的服务端分页与关键词/状态筛选契约,仅渲染用户、名称、固定前缀、状态和时间元数据。
  • 详情只展示单条元数据及最近 20 条安全事件;审计摘要通过前端固定字段白名单再次约束。
  • 有效密钥可执行撤销,操作前二次确认,成功后刷新列表;后端保持幂等。
  • 加载、空结果、错误和无权限使用独立状态;表格在窄屏内滚动,工具栏按现有 Chorus 管理页面规范响应式换行。
  • 请求并发使用序号防止较旧响应覆盖新筛选或新详情。

修改范围

  • admin-ui/src/api/chorus/index.js:增加列表、详情和撤销 API 封装。
  • admin-ui/src/views/chorus/api-keys/:治理页面与安全显示辅助函数。
  • admin-ui/tests/unit/chorus/:分页、摘要白名单、敏感字段与中文标题回归。
  • Local-Development-and-Verification Wiki 及镜像:增加管理员操作和验证说明。

验收结果

验收标准 结果
列表和详情不包含完整 Key,只显示前缀、状态和元数据 通过源码约束、单测与 #45 后端契约测试
撤销确认与成功/失败反馈 2026-08-25 用户验收通过
权限、空态和错误态 2026-08-25 用户验收通过
375/768/1024/1440 无页面溢出 自动化未验证;用户在已知限制下验收通过
admin-ui 单测与构建 通过
浏览器 E2E 未执行;用户在已知限制下验收通过

人工验收

  • 用户于 2026-08-25 明确验收通过。
  • 浏览器自动化与四视口截图未执行的限制继续保留,不改写为已验证。

测试

  • corepack pnpm lint:通过,只有仓库既有 98 条 warning,无 error。
  • corepack pnpm exec vue-cli-service test:unit --runInBand:14 suites、49 tests 全部通过。
  • 临时设置 NODE_OPTIONS=--max-old-space-size=4096 后 corepack pnpm build:prod:通过;保留既有 Sass、codemirror 和包体积 warning。
  • python dev_scripts/harness.py check --strict:通过。
  • python -m unittest discover -s tests -v:43 项通过。
  • python dev_scripts/harness.py sync --check:通过。
  • Supervisor chorus-admin-ui 已重启且 HTTP 200;管理 API 未认证请求返回 JSON 业务码 401。
  • 未验证部分:当前无可用浏览器实例,受保护环境文件也未提供管理端登录凭据,未执行登录态交互、四视口截图或真实撤销。未调用真实 Provider,未修改或撤销现有用户密钥。

文档

  • Local-Development-and-Verification revision:31061a29cf4b73dee02b01d2bccd4a333c1abe2a

相关提交

  • d59c340 feat: 交付管理端 API 密钥治理页面 (#46)