feat: 實作管理端指令群 jwks/accounts/audit-logs(issue #12)

- docs/commands.md 新增 §3.8 jwks、§3.9 accounts、§3.10 audit-logs 規格
- Api 新增 jwks/accounts/audit-logs 端點(共用 api_request)
- 新增 Jwks/Accounts/AuditLogs/Admin 模組;CLI 接線三個指令群
- 403 → 退出碼 8 提示需 admin;一次性密碼只在成功當下輸出
- 測試 100 例全綠(fake API 注入,比照 cli_test.exs)
This commit is contained in:
2026-09-10 03:07:40 +08:00
parent a220f8c5e6
commit 464db21745
9 changed files with 1737 additions and 9 deletions
+6
View File
@@ -24,6 +24,9 @@ Bear 目前所有流程都依賴「瀏覽器」:登入 `/login`、儀表板 La
| `bear logout` | 撤銷 refresh token(`POST /revoke`) | P2 |
| `bear status` | 顯示登入狀態與 token 剩餘效期 | P2 |
| `bear apps list/show/create/update/rotate-secret/toggle` | App 管理(需 bear App 管理 JSON API,PAT 登入、admin 限定) | P3 |
| `bear jwks list/show/create/toggle` | 簽章金鑰管理(admin 限定) | P3 |
| `bear accounts list/show/create/update/set-password/delete` | 帳號管理(admin 限定) | P3 |
| `bear audit-logs list` | 稽核日誌查襟(admin 限定) | P3 |
| `bear profile show/set` | 個人資料檢視/更新(需 bear 個人自助 JSON API) | P3 |
| `bear password change` | 變更密碼(互動輸入,不進 shell history) | P3 |
| `bear email change --new EMAIL` | 變更 email(雙向驗證碼流程) | P3 |
@@ -47,6 +50,9 @@ Bear 目前所有流程都依賴「瀏覽器」:登入 `/login`、儀表板 La
| `bear logout` | ✅ 已實作(清除本機憑證;PAT 需至網頁撤銷) |
| `bear status` | ✅ 已實作(純本機判定,顯示 PAT/環境變數模式) |
| `bear apps` | ✅ 已實作(`list`/`show`/`create`/`update`/`rotate-secret`/`toggle`;issue #10,對接 alterminal/bear#28 的 `/api/v1/apps` JSON API,admin PAT 限定) |
| `bear jwks` | ✅ 已實作(`list`/`show`/`create`/`toggle`;issue #12,對接 alterminal/bear#46 的 `/api/v1/jwks` JSON API,admin PAT 限定) |
| `bear accounts` | ✅ 已實作(`list`/`show`/`create`/`update`/`set-password`/`delete`;issue #12,對接 alterminal/bear#46 的 `/api/v1/accounts` JSON API;密碼不進命令列,初始/新密碼一次性輸出) |
| `bear audit-logs` | ✅ 已實作(`list` 含 `--category` 過濾與 emails 對照;issue #12,對接 alterminal/bear#46 的 `/api/v1/audit-logs` JSON API) |
| `bear profile`/`password`/`email`/`sessions`/`tokens`/`mfa` | ⏳ 規格已納入 `docs/commands.md` §3.7(#11);待 alterminal/bear#35 API 就緒後實作 |
### 建置與執行