Skip to content

[Feature] 管理员 API 可查询已删除的 API key 元数据 #430

Description

@haiting1127

What problem do you want to solve?

管理员需要按用户长期汇总 API key 用量,但 CPA metadata 同步目前只返回仍然存在的 key。key 从 CPA 删除后,Keeper 中虽然可能仍有历史统计,管理员却无法通过 key settings API 找到对应的已删除 key 元数据,也就无法继续维护“用户 -> key”的归属关系。

同时,普通 API-key Viewer 不应看到或登录已删除的 key。

What would you like to happen?

建议给管理员 settings API 增加显式参数,例如:

GET /api/v1/usage/api-keys/settings?include_deleted=true
  • 仅管理员可请求 active + deleted key metadata。
  • 默认行为保持只返回 active keys。
  • API-key Viewer 的 lookup / login 始终只允许 active key。
  • 浏览器响应继续只返回脱敏值,不返回 raw key,也不记录 raw key 日志。
  • 非布尔参数返回 400,避免静默扩大查询范围。

Additional context

一个已实现并覆盖 repository、handler、管理员授权和 Viewer 拒绝测试的参考 commit:

Tranxmart@5fc5f17

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions