feat: add portal api key management

This commit is contained in:
QiuSW
2026-07-03 11:51:46 +08:00
parent d61a641b7e
commit 35f4c9c494
18 changed files with 323 additions and 29 deletions
+2
View File
@@ -31,6 +31,8 @@ T-306 已实现对外 API 安全加固:`image_url` 下载只允许 `http` / `h
T-501 已实现用户端注册 / 登录基线:`/signup` `/login` `/logout` 走 django-allauth + Django session + CSRF;注册邮箱必须验证,注册成功创建 0 点 `UserWallet`,不创建赠点流水。对外 API 仍只认 API Key,不接受 Web session。
T-502 已实现用户端 API Key 自助管理基线:`/apikeys` 走 Django session + CSRF;登录用户可生成和删除自己的 Key,生成后的明文只在重定向后的首个页面显示一次,库内只保存 `key_hash` 与 `key_prefix`。用户端“删除”落库为 `revoked`,保留历史记录关联;吊销后的 Key 调用生成 / 余额接口返回 `403 account_disabled`,缺失、无效或不存在的 Key 仍返回 `401 unauthorized`。
通用错误响应:
```json