chore(docs): 標記 H1、H2 完成並於 .env.example 註明正式環境設定 #73
@@ -1,6 +1,7 @@
|
|||||||
APP_NAME=Laravel
|
APP_NAME=Laravel
|
||||||
APP_ENV=local
|
APP_ENV=local
|
||||||
APP_KEY=
|
APP_KEY=
|
||||||
|
# 正式環境必須設為 APP_ENV=production、APP_DEBUG=false,否則錯誤頁會洩漏堆疊追蹤與環境變數
|
||||||
APP_DEBUG=true
|
APP_DEBUG=true
|
||||||
APP_TIMEZONE=UTC
|
APP_TIMEZONE=UTC
|
||||||
APP_URL=http://localhost
|
APP_URL=http://localhost
|
||||||
|
|||||||
@@ -13,8 +13,8 @@
|
|||||||
|
|
||||||
| # | 優先 | 項目 | 是否走 OpenSpec | 建議 change 名稱 |
|
| # | 優先 | 項目 | 是否走 OpenSpec | 建議 change 名稱 |
|
||||||
|---|------|------|----------------|------------------|
|
|---|------|------|----------------|------------------|
|
||||||
| H1 | 🔴 高 | member/provider 路由缺角色 middleware | 是 | `add-role-middleware` |
|
| H1 | ✅ 已完成(PR #71、#72) | member/provider 路由缺角色 middleware | 是 | `add-role-middleware` |
|
||||||
| H2 | 🔴 高 | 正式環境 `APP_DEBUG` 與預設值風險 | 否(設定確認)+ 視情況改 `.env.example` | — |
|
| H2 | ✅ 已完成(2026-10-18 確認) | 正式環境 `APP_DEBUG` 與預設值風險 | 否(設定確認)+ 視情況改 `.env.example` | — |
|
||||||
| M1 | 🟡 中 | AuthController 過大、無 FormRequest/Service 層 | 是 | `refactor-auth-controller` |
|
| M1 | 🟡 中 | AuthController 過大、無 FormRequest/Service 層 | 是 | `refactor-auth-controller` |
|
||||||
| M2 | 🟡 中 | 預約名額邏輯重複 | 是 | `extract-booking-service` |
|
| M2 | 🟡 中 | 預約名額邏輯重複 | 是 | `extract-booking-service` |
|
||||||
| M3 | 🟡 中(已下修,見內文) | 通知派送的例外處理與失敗可觀測性 | 視範圍而定 | `harden-notification-dispatch` |
|
| M3 | 🟡 中(已下修,見內文) | 通知派送的例外處理與失敗可觀測性 | 視範圍而定 | `harden-notification-dispatch` |
|
||||||
@@ -40,12 +40,12 @@
|
|||||||
- 目前只有 `ReviewController`、refresh 端點自己檢查角色,其餘端點無防護。
|
- 目前只有 `ReviewController`、refresh 端點自己檢查角色,其餘端點無防護。
|
||||||
|
|
||||||
**待辦**
|
**待辦**
|
||||||
- [ ] 新增 `EnsureMember`、`EnsureProvider` middleware(仿 `app/Http/Middleware/EnsureAdmin.php`),並在 `bootstrap/app.php` 註冊 alias
|
- [x] 新增 `EnsureMember`、`EnsureProvider` middleware(仿 `app/Http/Middleware/EnsureAdmin.php`),並在 `bootstrap/app.php` 註冊 alias
|
||||||
- [ ] 套用到 `member`、`provider` 路由群組
|
- [x] 套用到 `member`、`provider` 路由群組
|
||||||
- [ ] 通知、即時訊息這類「member + provider 共用」群組維持現狀,但需確認 admin 是否應被排除
|
- [ ] 通知、即時訊息這類「member + provider 共用」群組維持現狀,但需確認 admin 是否應被排除(未定案:本次維持現狀,admin 是否排除另案決定)
|
||||||
- [ ] 新增 Feature 測試(仿 `tests/Feature/AdminEndpointAuthTest.php`):每個角色 × 每組路由,期望 403
|
- [x] 新增 Feature 測試(仿 `tests/Feature/AdminEndpointAuthTest.php`):每個角色 × 每組路由,期望 403
|
||||||
- [ ] 更新 spec:`provider-auth`、`admin-auth`;視需要新增 `role-authorization` spec
|
- [x] 更新 spec:`provider-auth`、`admin-auth`;視需要新增 `role-authorization` spec(實際做法:新增 `role-authorization` 主規格,未修改 `provider-auth`、`admin-auth`)
|
||||||
- [ ] 更新 Swagger 註解(`app/Docs/*`)的 403 回應
|
- [x] 更新 Swagger 註解(`app/Docs/*`)的 403 回應
|
||||||
|
|
||||||
**驗收條件(草案,需轉為 spec Scenario)**
|
**驗收條件(草案,需轉為 spec Scenario)**
|
||||||
1. member 呼叫任一 `/api/provider/*` 回 403
|
1. member 呼叫任一 `/api/provider/*` 回 403
|
||||||
@@ -70,11 +70,11 @@
|
|||||||
若 VPS 上 `.env` 沿用相同值,錯誤頁會洩漏堆疊追蹤、環境變數與 SQL。
|
若 VPS 上 `.env` 沿用相同值,錯誤頁會洩漏堆疊追蹤、環境變數與 SQL。
|
||||||
|
|
||||||
**待辦**
|
**待辦**
|
||||||
- [ ] **需要你確認**:登入 VPS 檢查實際 `.env` 的 `APP_DEBUG`、`APP_ENV`(我無法從此環境確認)
|
- [x] **需要你確認**:登入 VPS 檢查實際 `.env` 的 `APP_DEBUG`、`APP_ENV`(我無法從此環境確認)(2026-10-18:`APP_DEBUG=false`、`APP_ENV=production`)
|
||||||
- [ ] 確認 `config:cache` 後的實際值:`docker compose exec app php artisan tinker --execute="dump(config('app.debug'));"`
|
- [x] 確認 `config:cache` 後的實際值:`docker compose exec app php artisan tinker --execute="dump(config('app.debug'));"`
|
||||||
- [ ] `.env.example` 加註解說明正式環境必須 `APP_DEBUG=false`
|
- [x] `.env.example` 加註解說明正式環境必須 `APP_DEBUG=false`
|
||||||
- [ ] 評估是否在 deploy.yml 加入啟動檢查:`APP_ENV=production` 且 `APP_DEBUG` 為 false,否則部署失敗
|
- [x] 評估是否在 deploy.yml 加入啟動檢查:`APP_ENV=production` 且 `APP_DEBUG` 為 false,否則部署失敗(2026-10-18 決定暫不做:正式環境已確認,需要時另開 change)
|
||||||
- [ ] 本機 `.env` 中的 DB 密碼為弱密碼(`cfdivepass`),確認正式環境未使用
|
- [x] 本機 `.env` 中的 DB 密碼為弱密碼(`cfdivepass`),確認正式環境未使用(2026-10-18:正式環境未使用預設密碼,且 MySQL 未對外開 port)
|
||||||
|
|
||||||
**備註**
|
**備註**
|
||||||
這項大多是設定確認,不一定需要 OpenSpec change;若加入部署檢查則屬 `env-cloud-annotations` spec 範圍。
|
這項大多是設定確認,不一定需要 OpenSpec change;若加入部署檢查則屬 `env-cloud-annotations` spec 範圍。
|
||||||
|
|||||||
Reference in New Issue
Block a user