refactor: rebuild backend around role-site authorization model
This commit is contained in:
@@ -1,19 +1,20 @@
|
||||
# Backend TaskPlan
|
||||
|
||||
## 待辦
|
||||
- [ ] 重建 schema 與 migration:退場舊表(`modules` 舊權限流程、`permission_groups*`、`user_scope_permissions`),上線 `roles`、`site_roles`、`user_sites`。
|
||||
- [ ] 重做 Admin API:`Company/Site/System/Role/User` CRUD 與關聯管理 API。
|
||||
- [ ] 重做 Role API:只允許 Site 指派/解除,不提供 user direct role API。
|
||||
- [ ] 重做 `/me/permissions/snapshot`:改為 role 聚合格式(由 user_sites + site_roles 推導)。
|
||||
- [ ] Keycloak 同步器改版:Company/Site group 同步、System client role 同步、Site 角色套用同步。
|
||||
- [ ] Swagger response model 全面更新為 role-site 新模型。
|
||||
- [ ] 新增/補齊 API 測試(CRUD、關聯、同步、刪除、錯誤碼)。
|
||||
- [ ] 補齊 pytest API 測試(CRUD、關聯、同步、刪除、錯誤碼)。
|
||||
- [ ] 補一支「一鍵重建 schema」腳本(串 `init_schema.sql`)。
|
||||
|
||||
## 進行中
|
||||
- [ ] 文件與實際回應格式持續對齊(避免文件漂移)。
|
||||
- [ ] Swagger response model 與前端實際畫面持續對齊。
|
||||
|
||||
## 已完成
|
||||
- [x] Keycloak OIDC 登入主流程(authorize + callback + token)。
|
||||
- [x] `/admin/*` Bearer token + admin 群組白名單安全線。
|
||||
- [x] API 白名單基礎(`api_clients`)已存在並可管理。
|
||||
- [x] 前後端本地啟動流程已可分開運行(backend + frontend)。
|
||||
- [x] schema 重建:清除舊表,改為 `roles`、`site_roles`、`user_sites` 主流程。
|
||||
- [x] 移除舊後端程式:`module/permission_group/user_scope_permissions` 相關 model/repo/api。
|
||||
- [x] Admin API 改版:`Company/Site/System/Role/User` CRUD 與關聯 API。
|
||||
- [x] Role 指派只允許綁 Site,不提供 user direct role API。
|
||||
- [x] `/me/permissions/snapshot` 改為 role 聚合格式。
|
||||
- [x] Internal API 改版:可取 `users/{user_sub}/roles` 聚合結果。
|
||||
- [x] 保留 `api_clients` 白名單管理 API。
|
||||
- [x] Keycloak OIDC 登入主流程。
|
||||
- [x] `/admin/*` Bearer + admin 群組白名單安全線。
|
||||
|
||||
Reference in New Issue
Block a user