# UI 規劃（管理者 / 會員）

## 會員中心（統一 UI）
### 會員端
- 註冊 / 登入 / 忘記密碼 / 修改密碼
- Email 驗證
- 個人資料（基本資料、聯絡方式、公司資訊）
- 收貨地址簿
- 訂閱管理（清單與退訂）
- 退訂（單一清單）
- 連結外站（可選：回到來源站點）

### 管理者端
- 租戶管理（Tenant CRUD）
- OAuth Client 管理（usage / redirect_uris / client_id / client_secret；scope 由 usage 自動配置）
- 電子報清單管理（Lists CRUD）
- 訂閱查詢 / 匯出
- 審計紀錄查詢
- 系統設定（安全策略、token 時效）
- Auth 資源設定（resource / audience / scope / usage mapping）

## 各站自建 UI（API）
### 會員端
- 登入 / 註冊 / 忘記密碼 / 修改密碼
- Email 驗證頁（可自建或導回會員中心）
- 訂閱表單（未登入）
- 外站自建訂閱偏好管理（登入後，走 API）
- 退訂頁（從 email token 進來）

### 管理者端
- 站內顯示會員資料（只讀）
- 站內訂閱狀態顯示

## UI 核心原則
- 會員中心 UI 為統一入口（少數情境）
- 其餘皆走 API 與各站自建 UI
- 會員中心 UI 不承擔行銷內容或寄送
- `MemberCenter.Web` 採 client-first 介面；admin 功能以角色判斷後顯示於同一登入入口內
- `/admin/*` 由 `Areas/Admin` 提供獨立管理區殼層
- 非 admin 或未登入存取 `/admin/*` 時，回 `404`
## UI 路徑對應（Use Cases）

### 會員端（統一 UI）
- UC-01 註冊會員: `/account/register`
- UC-02 登入: `/account/login`
- UC-03 登出: `POST /account/logout`（外站 direct logout 可導向 `GET /account/logout?returnUrl=...`）
- UC-04 忘記密碼 / 重設密碼: `/account/forgotpassword`, `/account/resetpassword`
- UC-04.1 已登入修改密碼: `/account/changepassword`
- UC-05 Email 驗證: `/account/verifyemail?email=...&token=...`
- UC-07 訂閱確認（double opt-in）: `/newsletter/confirm?token=...`
- UC-08 取消訂閱（單一清單）: `/newsletter/unsubscribe?token=...`
- UC-09 訂閱偏好管理（外站整合 API）: `/newsletter/preferences?list_id=...&email=...`
- UC-10 會員資料查看 / 編輯: `/profile`
- UC-10.1 收貨地址簿管理: `/profile/addresses`
- UC-10.2 我的電子報訂閱: `/profile/subscriptions`

### 管理者端（統一 UI）
- UC-11 租戶管理: `/admin/tenants`
- UC-11.1 Tenant 可設定 `Send Engine Webhook Client Id`（UUID）
- UC-12 OAuth Client 管理: `/admin/oauth-clients`（建立時顯示一次 client_secret，可旋轉；可選 `usage=tenant_api` / `send_api` / `web_login` / `webhook_outbound` / `platform_service` / `file_api`；`platform_service` / `web_login` 可不指定 tenant）
  - `redirect_uris` 僅 `web_login` / `webhook_outbound` 需要；其餘 usage 不需要
  - `tenant_api` / `send_api` / `platform_service` / `file_api` 強制 `client_type=confidential`
  - 既有 public client 改為 confidential 時會自動產生新的 client_secret，並只顯示一次；之後需使用 rotate secret 重新產生
- UC-13 電子報清單管理: `/admin/newsletter-lists`
- UC-14 訂閱查詢 / 匯出: `/admin/subscriptions`, `/admin/subscriptions/export`
- UC-15 審計紀錄查詢: `/admin/audit-logs`
- UC-16 安全策略設定: `/admin/security`
- UC-16.1 Auth 資源設定：建議整併於 `/admin/security` 或其子頁籤，而非獨立新頁
  - 管理 `Issuer` 顯示資訊與非敏感 Auth 設定
  - 管理 resource registry，例如 `member_center_api`、`send_engine_api`、`file_access_api`
  - audience 設定建議放在現有 Auth / Security 設定畫面下，而不是放到 SMTP / Send Engine 整合設定頁
