# Local Dev Runbook(Keycloak) ## 1) 啟動後端 ```bash cd backend ./scripts/start_dev.sh ``` - 專案路徑:[backend](../backend) - 啟動腳本:[backend/scripts/start_dev.sh](../backend/scripts/start_dev.sh) ## 2) 啟動前端 ```bash cd frontend npm install npm run dev ``` - 專案路徑:[frontend](../frontend) ## 3) 必要環境變數([backend/.env.development](../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` ## 4) 基本檢查 1. `GET http://127.0.0.1:8000/healthz` 應為 200。 2. 前端按「前往 Keycloak 登入」應可成功導轉與回跳。 3. `GET /me` 登入後應有資料。 4. 非 admin 群組帳號打 `/admin/*` 應為 403。 ## 5) 新模型驗收路徑 1. 新增 Company、Site。 2. 新增 System、Role。 3. 對 Site 指派 Role。 4. 新增 User,加入 Site。 5. 驗證 User 的角色是由 Site 推導,不是 direct assign。 ## 6) API 白名單驗收 1. 建立 `api_client`。 2. 用 `X-Client-Key` + `X-API-Key` 呼叫 `/internal/*`。 3. 驗證未授權 key 會被拒絕。