Files
member-platform/docs/LOCAL_DEV_RUNBOOK.md

1.6 KiB
Raw Blame History

Local Dev RunbookKeycloak

1) 先重建 DB schema本次改版必做

cd backend
psql "$DATABASE_URL" -f scripts/init_schema.sql

2) 啟動後端

cd backend
./scripts/start_dev.sh

3) 啟動前端

cd frontend
npm install
npm run dev

4) 必要環境變數(backend/.env.development

  • KEYCLOAK_BASE_URL
  • KEYCLOAK_REALM
  • KEYCLOAK_CLIENT_ID
  • KEYCLOAK_CLIENT_SECRET
  • KEYCLOAK_ADMIN_CLIENT_ID
  • KEYCLOAK_ADMIN_CLIENT_SECRET
  • ADMIN_REQUIRED_GROUPS

5) 基本檢查

  1. GET http://127.0.0.1:8000/healthz 應為 200。
  2. 前端按「前往 Keycloak 登入」應可成功導轉與回跳。
  3. GET /me 登入後應有資料。
  4. 非 admin 群組帳號打 /admin/* 應為 403。
  5. POST /admin/sync/from-keycloak?force=true 可手動觸發全量補齊同步。

6) 新模型驗收路徑

  1. 新增 Company、Site。
  2. 在 Keycloak 建立 SystemClient與 RoleClient Role
  3. 在後台按「同步 Keycloak」確認 DB 補齊 System/Role。
  4. 對 Site 指派 Role。
  5. 新增 User加入 Site。
  6. 驗證 User 的角色是由 Site 推導,不是 direct assign。

7) API 白名單驗收

  1. 建立 api_client
  2. X-Client-Key + X-API-Key 呼叫 /internal/*
  3. 驗證未授權 key 會被拒絕。