From d3a0d300c62432312fc980b115469609571a7e35 Mon Sep 17 00:00:00 2001 From: Hank Date: Thu, 11 Jun 2026 17:49:00 +0800 Subject: [PATCH] =?UTF-8?q?docs(openspec):=20=E8=A6=8F=E6=A0=BC=E6=B8=85?= =?UTF-8?q?=E7=90=86=E2=80=94=E2=80=94=E8=A3=9C=20Purpose=E3=80=81?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=89=8D=E7=AB=AF=20repo=20=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0=E3=80=81=E8=A3=9C=20admin=20=E6=9F=A5=E8=A9=A2?= =?UTF-8?q?=E7=AB=AF=E9=BB=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - auth-test-coverage:補歸檔後遺留的 TBD Purpose - member-portal-ui:前端實際位於本 repo frontend/,修正獨立 repo 描述 - admin-auth:補 check-member / check-provider 端點規格 Co-Authored-By: Claude Fable 5 --- openspec/specs/admin-auth/spec.md | 13 +++++++++++++ openspec/specs/auth-test-coverage/spec.md | 2 +- openspec/specs/member-portal-ui/spec.md | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/openspec/specs/admin-auth/spec.md b/openspec/specs/admin-auth/spec.md index 8151cb1..1e833c3 100644 --- a/openspec/specs/admin-auth/spec.md +++ b/openspec/specs/admin-auth/spec.md @@ -52,6 +52,19 @@ --- +### Requirement: 管理員查詢指定用戶資料 +後端 SHALL 提供 `GET /api/admin/check-member/{id}` 與 `GET /api/admin/check-provider/{id}`(需 Bearer token,role=admin),依角色查詢指定用戶的基本資料與對應 profile。 + +#### Scenario: 查詢存在的用戶 +- **WHEN** 管理員以有效 id 查詢對應角色的用戶 +- **THEN** 回傳 HTTP 200 與該用戶資料 + +#### Scenario: id 不存在或角色不符 +- **WHEN** 查詢的 id 不存在,或該用戶角色與端點不符(如以 check-member 查 provider) +- **THEN** 回傳 HTTP 404 + +--- + ### Requirement: 管理員 Bearer Token 有效期 後端 SHALL 發行有效期為 7 天的管理員 Bearer Token。主動使用 API 的 session 可透過 refresh 端點取得新 token(sliding window);閒置超過 7 天後需重新登入。 diff --git a/openspec/specs/auth-test-coverage/spec.md b/openspec/specs/auth-test-coverage/spec.md index ca8ae36..ed43547 100644 --- a/openspec/specs/auth-test-coverage/spec.md +++ b/openspec/specs/auth-test-coverage/spec.md @@ -1,7 +1,7 @@ # auth-test-coverage Specification ## Purpose -TBD - created by archiving change auth-tests. Update Purpose after archive. +驗證三角色(member / provider / admin)認證流程的測試覆蓋契約:登入/註冊/登出、帳號鎖定(P2)、OAuth state 驗證、token refresh 與登入頻率限制。此規格定義測試套件必須覆蓋的場景,任何認證行為變更時,對應測試必須同步失敗以攔截回歸。 ## Requirements ### Requirement: Auth 登入/註冊/登出測試覆蓋(三角色) 測試套件 SHALL 對 member、provider、admin 三個角色各自驗證以下場景,確保回歸時能即時偵測。 diff --git a/openspec/specs/member-portal-ui/spec.md b/openspec/specs/member-portal-ui/spec.md index c11dfc5..05644d3 100644 --- a/openspec/specs/member-portal-ui/spec.md +++ b/openspec/specs/member-portal-ui/spec.md @@ -1,7 +1,7 @@ ## ADDED Requirements ### Requirement: 專案基礎建設 -前端 SHALL 建立於獨立 repo,使用 Vue 3 + Vite + Tailwind CSS + Vue Router 4 + Pinia + Axios,並設定 `.env` 指定後端 API base URL。 +前端 SHALL 建立於本 repo 的 `frontend/` 目錄(原規劃獨立 repo,後併入主 repo 以簡化版控與部署),使用 Vue 3 + Vite + Tailwind CSS + Vue Router 4 + Pinia + Axios,並設定 `.env` 指定後端 API base URL。 #### Scenario: 開發環境啟動 - **WHEN** 開發者執行 `npm run dev`