merge: rebase 到最新 main(吸納 PR #15 個人自助指令群)後新增管理端指令群
- main 已合併 PR #15(profile/password/email/sessions/tokens/mfa 與 eqrcode 依賴) - 保留 main 的 self_service 模組與 api.ex 個人自助端點,於其上重套管理端: jwks/accounts/audit-logs 指令、API 端點、CLI 接線、docs §3.8–§3.10、README 表格 - mix precommit 全綠(150 tests:admin 100 + self-service 50)
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
**Bear CLI** 是 [澳特科技](https://alterminal.com)(Alter Technology)單點登入系統 [Bear](https://gitea.alterminal.com/alterminal/bear) 的**終端機(CLI)客戶端**:讓使用者在 Linux 終端機以 Bear 帳號登入(Device Flow 或個人存取權杖)、查詢身分、取得 Token,作為 SSO 的終端入口。
|
||||
|
||||
> **狀態:已實作 PAT 模式 MVP(Elixir + Req,issue #6)**。`login --token <PAT>`、`whoami`、`token`、`logout`、`status` 已可用;Device Authorization Grant(RFC 8628)登入待伺服器端 P1(bear 倉庫)完成後再接。
|
||||
> **狀態:已實作 PAT 模式 MVP(Elixir + Req,issue #6)+ App 管理(#10)+ 個人自助指令群(#11)**。`login --token <PAT>`、`whoami`、`token`、`logout`、`status`、`apps`、`profile`/`password`/`email`/`sessions`/`tokens`/`mfa` 已可用;Device Authorization Grant(RFC 8628)登入待伺服器端 P1(bear 倉庫)完成後再接。
|
||||
> 伺服器端採用的 OIDC **Device Authorization Grant(RFC 8628)** 方向,詳見 bear 倉庫的設計文件 `docs/cli-feature-plan.md`(issue #17)。
|
||||
> Bear 已支援**個人存取權杖(Personal Access Token,PAT)**;CLI 規劃以其作為完全免瀏覽器的替代登入方式(見下文)。
|
||||
|
||||
@@ -23,16 +23,16 @@ Bear 目前所有流程都依賴「瀏覽器」:登入 `/login`、儀表板 La
|
||||
| `bear token [--refresh]` | 印出 access token(過期自動 refresh),供 pipe 給其他工具 | P2 |
|
||||
| `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 |
|
||||
| `bear sessions list/revoke/revoke-others` | 管理網頁 session | P3 |
|
||||
| `bear tokens list/create/revoke` | 管理 PAT(create 一次性顯示明文) | P3 |
|
||||
| `bear mfa status/setup/disable/recovery-codes` | TOTP 兩因子管理 | P3 |
|
||||
| `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(✅ 已實作) |
|
||||
| `bear sessions list/revoke/revoke-others` | 管理網頁 session | P3(✅ 已實作) |
|
||||
| `bear tokens list/create/revoke` | 管理 PAT(create 一次性顯示明文) | P3(✅ 已實作) |
|
||||
| `bear mfa status/setup/disable/recovery-codes` | TOTP 兩因子管理 | P3(✅ 已實作) |
|
||||
|
||||
完整指令規格(選項、行為、輸出、退出碼)見 [`docs/commands.md`](docs/commands.md)。
|
||||
|
||||
@@ -53,7 +53,7 @@ Bear 目前所有流程都依賴「瀏覽器」:登入 `/login`、儀表板 La
|
||||
| `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 就緒後實作 |
|
||||
| `bear profile`/`password`/`email`/`sessions`/`tokens`/`mfa` | ✅ 已實作(issue #11,對接 alterminal/bear#38 的 `/api/v1/profile*` JSON API,任何有效 PAT 皆可):`profile show/set`、`password change`、`email change --new`、`sessions list/revoke/revoke-others`、`tokens list/create/revoke`、`mfa status/setup/disable/recovery-codes`。規格見 `docs/commands.md` §3.7 |
|
||||
|
||||
### 建置與執行
|
||||
|
||||
|
||||
Reference in New Issue
Block a user