# Backend TaskPlan ## 目標 提供可被前端穩定串接的 memberapi,包含身份驗證、權限快照、權限管理與 Authentik 同步能力。 ## 已完成 - [x] FastAPI 專案骨架與分層(api/service/repository/model) - [x] `GET /healthz` - [x] `GET /me` - [x] `GET /me/permissions/snapshot` - [x] `POST /admin/permissions/grant` - [x] `POST /admin/permissions/revoke` - [x] `POST /internal/users/upsert-by-sub` - [x] `GET /internal/permissions/{authentik_sub}/snapshot` - [x] `POST /internal/authentik/users/ensure` - [x] API client 驗證(`X-Client-Key` + `X-API-Key`) - [x] Authentik JWT 驗證(JWKS) - [x] DB schema 初始化 SQL + migration SQL - [x] 基本測試與 lint ## 進行中(建議近期) - [ ] 增加 Alembic migration 正式流程 - [ ] 補齊更多 API 測試(admin/internal success + fail cases) - [ ] 增加 request id / logging 格式 ## 待辦(上線前) - [ ] 加入 rate limit(依 client 或 IP) - [ ] 針對 admin API 加 audit log(授權/撤銷行為) - [ ] 加上 CORS 白名單與反向代理配置驗證 - [ ] 製作部署腳本(systemd / container) ## 驗收條件 - [ ] 前端可完成 `/me` + `/me/permissions/snapshot` + grant/revoke 全流程 - [ ] 401/403/404/503 錯誤碼與文件一致 - [ ] 至少一輪 staging smoke test 通過