14 KiB
14 KiB
用戶認證功能規格文檔 (Web版)
📋 功能概述
功能名稱: 用戶認證與權限管理系統 (Web端)
建立日期: 2025-09-11
最後更新: 2025-09-11
負責團隊: 前端Web/設計/開發
對應Mobile規格: ../mobile/user-authentication-mobile.md
整合共用規範
本規格基於以下共用模組,請參閱對應規格文件:
主要功能 (基於共用業務規則)
- 多重認證方式: Email註冊、第三方登入 (Google、Apple)
- 用戶等級分級: 免費用戶、試用用戶、訂閱用戶、進階用戶、高價值用戶
- 會話管理: JWT Token機制、自動續期、多設備登入控制
- 密碼安全: bcrypt加密、複雜度驗證、歷史記錄防護
- 帳戶安全: 異地登入驗證、失敗次數限制、帳戶鎖定機制
- 訂閱管理: 7天免費體驗、月費/年費訂閱、自動續訂
Web端特色功能
- 多標籤會話: 同一帳戶支援多個瀏覽器標籤
- 記住登入: 最長90天的免密碼登入
- 桌面通知: 帳戶安全事件的桌面提醒
- 密碼管理整合: 與瀏覽器密碼管理器整合
- 企業登入: SSO單點登入支援
- 進階安全: 雙因素認證 (2FA) 選項
適用場景
- 桌面環境的安全性要求較高的登入
- 需要長期會話保持的學習環境
- 企業用戶的統一身份認證
- 多設備學習進度同步需求
與其他功能的關聯
- 用戶等級系統: 不同等級用戶的功能權限差異
- 訂閱系統: 付費用戶的權益管理和自動續訂
- 學習進度: 跨設備的學習資料同步
- 道具商店: 購買權限和支付驗證
- 社群功能: 好友系統和競爭排行榜
💻 涉及的Web頁面 (認證系統架構)
主要頁面
- Page_Login_W - 登入頁面 (Web版)
- Page_Register_W - 註冊頁面 (Web版)
- Page_Password_Reset_W - 密碼重設頁面 (Web版)
- Page_Profile_Settings_W - 用戶資料設定頁面 (Web版)
- Page_Account_Security_W - 帳戶安全設定頁面 (Web版)
Web專用頁面
- Page_SSO_Login_W - 企業單點登入頁面 (Web專用)
- Page_Two_Factor_Auth_W - 雙因素認證設定頁面 (Web專用)
- Page_Session_Management_W - 會話管理頁面 (Web專用)
訂閱相關頁面
- Page_Subscription_Plans_W - 訂閱方案頁面 (Web版)
- Page_Trial_Activation_W - 免費體驗啟動頁面 (Web版)
- Page_Subscription_Management_W - 訂閱管理頁面 (Web版)
輔助頁面
- Modal_Auth_Confirm_W - 身份驗證確認模態視窗
- Modal_Session_Timeout_W - 會話逾時提醒視窗
- Page_Account_Verification_W - 帳戶驗證頁面
🎯 詳細頁面規格 (基於共用業務規則)
Page_Login_W - 登入頁面
功能說明 (整合共用規範)
- 頁面目的: 用戶安全登入和身份驗證
- 認證規則: 參考 共同業務規則 - 用戶認證
- 會話管理: 參考 共同業務規則 - 會話管理
登入方式支援
基於共用業務規則的多重認證機制:
- Email + 密碼: 傳統登入方式
- Google 登入: OAuth 2.0 整合
- Apple ID 登入: Sign in with Apple
- 記住登入: 最長90天免密碼登入
- 企業SSO: 單點登入整合 (Web專用)
安全機制整合
基於 共同業務規則 - 密碼安全:
- 失敗限制: 連續5次錯誤鎖定15分鐘
- 異地驗證: 異常登入地點的安全驗證
- 會話控制: 最多3個設備同時登入
頁面欄位細節
| 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 |
|---|---|---|---|---|---|
| Email輸入框 | String | 是 | - | Email格式 | 始終顯示 |
| 密碼輸入框 | String | 是 | - | 8-128字符 | 始終顯示 |
| 記住登入選項 | Boolean | 否 | false | true/false | 複選框 |
| 登入失敗計數 | Number | 是 | 0 | 0-5 | 錯誤時顯示 |
| 異地登入警示 | Boolean | 否 | false | true/false | 檢測到異地時 |
| 會話有效期 | Number | 是 | 7 | 1-90天 | 記住登入時 |
| 雙因素認證碼 | String | 否 | - | 6位數字 | 開啟2FA時 |
| 登入地點資訊 | Object | 是 | {} | 地點物件 | 安全記錄 |
Web版互動元素
| 元素名稱 | 元素類型 | 操作方式 | 快捷鍵 | 狀態變化 | 備註 |
|---|---|---|---|---|---|
| Email輸入框 | 輸入框 | 點擊/Tab | Tab | 空白→輸入中 | 自動填入支援 |
| 密碼輸入框 | 密碼框 | 點擊/Tab | Tab | 空白→輸入中 | 顯示/隱藏切換 |
| 顯示密碼按鈕 | 按鈕 | 點擊/Ctrl+H | Ctrl+H | 隱藏↔顯示 | 密碼可見性 |
| 記住登入勾選 | 複選框 | 點擊/空白鍵 | Space | 未勾↔已勾 | 持久會話 |
| 登入按鈕 | 按鈕 | 點擊/Enter | Enter | 正常→處理中 | 主要行動 |
| Google登入按鈕 | 按鈕 | 點擊/Ctrl+G | Ctrl+G | 正常→跳轉中 | OAuth跳轉 |
| Apple ID登入 | 按鈕 | 點擊/Ctrl+A | Ctrl+A | 正常→跳轉中 | OAuth跳轉 |
| 忘記密碼連結 | 連結 | 點擊/Alt+F | Alt+F | - | 密碼重設 |
| 註冊連結 | 連結 | 點擊/Alt+R | Alt+R | - | 新用戶註冊 |
Page_Register_W - 註冊頁面
功能說明 (整合帳戶唯一性)
- 頁面目的: 新用戶帳戶註冊和初始設定
- 唯一性規則: 參考 共同業務規則 - 帳戶註冊
- 密碼規則: 參考 共同業務規則 - 密碼安全
註冊驗證機制
- Email唯一性: 一個Email只能註冊一個帳戶
- 第三方整合: Google、Apple帳戶不能與已註冊Email重複
- 用戶名檢查: 即時檢查用戶名可用性
- 密碼強度: 大小寫字母+數字,最少8字符
初始化獎勵
基於 共同業務規則 - 鑽石消費:
- 註冊贈送: 新用戶註冊贈送1500鑽石
- 初始命條: 新用戶獲得5個命條
- 體驗引導: 自動啟動新手教學
頁面欄位細節
| 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 |
|---|---|---|---|---|---|
| 用戶名稱 | String | 是 | - | 3-20字符 | 始終顯示 |
| Email地址 | String | 是 | - | Email格式 | 始終顯示 |
| 密碼 | String | 是 | - | 8-128字符 | 始終顯示 |
| 確認密碼 | String | 是 | - | 與密碼相同 | 始終顯示 |
| 用戶名可用性 | Boolean | 是 | false | true/false | 即時檢查 |
| Email唯一性 | Boolean | 是 | false | true/false | 即時檢查 |
| 密碼強度等級 | Number | 是 | 0 | 1-4級 | 強度指示器 |
| 服務條款同意 | Boolean | 是 | false | true/false | 必須同意 |
| 隱私政策同意 | Boolean | 是 | false | true/false | 必須同意 |
| 行銷通知同意 | Boolean | 否 | false | true/false | 可選項 |
Page_Subscription_Plans_W - 訂閱方案頁面
功能說明 (整合訂閱系統)
- 頁面目的: 展示訂閱方案和免費體驗
- 訂閱規則: 參考 共同業務規則 - 付費用戶分級
- 體驗機制: 7天免費體驗訂閱
訂閱方案架構
基於共用業務規則的用戶等級系統:
試用用戶:
- 期限:7天免費體驗訂閱
- 權益:完整功能體驗
- 轉換:試用期結束後需選擇訂閱或取消
訂閱用戶:
- 定價:NT$600/月 或 NT$6,000/年 (8.3折優惠)
- 權益:無限制學習次數,進階統計報告
- 特權:每日3次免費限時挑戰,命條恢復加速
進階用戶 (第二階段):
- 定價:NT$900/月 或 NT$9,000/年 (8.3折優惠)
- 權益:訂閱用戶功能 + 進階自訂學習功能 + 優質TTS
- 特權:更多命條上限,更快回復速度,專屬學習模式
頁面欄位細節
| 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 |
|---|---|---|---|---|---|
| 當前用戶等級 | String | 是 | "免費用戶" | 用戶等級 | 頁面頂部 |
| 體驗資格狀態 | Boolean | 是 | false | true/false | 是否已使用體驗 |
| 選中方案 | String | 否 | - | 方案ID | 用戶選擇時 |
| 計費週期 | String | 是 | "月付" | 月付/年付 | 價格切換 |
| 自動續訂設定 | Boolean | 是 | true | true/false | 訂閱選項 |
| 付款方式 | String | 否 | - | 支付類型 | 確認訂閱時 |
| 優惠代碼 | String | 否 | - | 0-20字符 | 優惠折扣 |
| 試用剩餘天數 | Number | 否 | - | 0-7天 | 試用期間顯示 |
Page_Account_Security_W - 帳戶安全設定頁面
功能說明 (整合安全機制)
- 頁面目的: 管理帳戶安全設定和隱私控制
- 安全功能: 密碼變更、雙因素認證、登入記錄
- 隱私控制: 資料匯出、帳戶刪除、隱私設定
安全設定選項
- 密碼管理: 密碼變更、強度檢查、歷史防重複
- 雙因素認證: TOTP應用程式、SMS驗證
- 登入記錄: 登入歷史、異常活動監控
- 設備管理: 已登入設備列表、遠程登出
- 隱私控制: 資料下載、帳戶刪除申請
頁面欄位細節
| 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 |
|---|---|---|---|---|---|
| 當前密碼 | String | 否 | - | 當前密碼 | 密碼變更時 |
| 新密碼 | String | 否 | - | 密碼規則 | 密碼變更時 |
| 雙因素認證狀態 | Boolean | 是 | false | true/false | 安全設定 |
| 登入通知 | Boolean | 是 | true | true/false | 通知設定 |
| 異常活動警報 | Boolean | 是 | true | true/false | 安全警報 |
| 已登入設備列表 | Array | 是 | [] | 設備陣列 | 設備管理 |
| 最後密碼變更 | Date | 是 | - | 日期時間 | 安全指標 |
| 資料匯出請求 | Object | 否 | null | 請求物件 | 隱私管理 |
🌐 Web端技術特點 (整合安全規範)
響應式設計
- 桌面優先: 1200px以上寬度的完整認證流程
- 表單優化: 大螢幕友善的表單設計
- 多步驟引導: 清晰的註冊和設定流程
- 無障礙設計: 完整的鍵盤導航和螢幕閱讀器支援
安全技術整合
基於共用業務規則的安全實現:
- JWT Token: 安全的會話管理機制
- OAuth 2.0: 第三方登入整合
- bcrypt加密: 密碼安全儲存
- HTTPS強制: 所有認證流程加密傳輸
- CSRF防護: 跨站請求偽造防護
- XSS防護: 跨站腳本攻擊防護
Web專用功能
- 瀏覽器整合: 密碼管理器、自動填入
- 桌面通知: Web Notifications API整合
- 離線檢測: Network API狀態監控
- 會話儲存: SessionStorage安全管理
- Cookie管理: 安全的Cookie設定
⌨️ Web版快捷鍵一覽
認證操作快捷鍵
Tab- 在表單欄位間切換Enter- 確認登入/註冊Esc- 取消當前操作Ctrl+H- 顯示/隱藏密碼Ctrl+G- Google登入Ctrl+A- Apple ID登入
安全設定快捷鍵
Ctrl+P- 開啟密碼變更Ctrl+S- 儲存設定變更Ctrl+D- 下載個人資料F5- 重新整理登入記錄Delete- 刪除選中的設備會話
頁面導航快捷鍵
Alt+L- 跳轉登入頁面Alt+R- 跳轉註冊頁面Alt+F- 忘記密碼Alt+S- 安全設定Alt+P- 用戶資料設定
📊 Web版業務邏輯差異
認證管理增強
基於共用業務規則的Web端實現:
- 多設備同步: 跨設備的登入狀態同步
- 會話延長: 付費用戶的會話有效期延長
- 企業整合: SSO單點登入支援
- 進階安全: 雙因素認證選項
訂閱管理優化
- 自動續訂: 智能的續訂提醒和管理
- 升級降級: 彈性的方案變更機制
- 發票管理: 企業用戶的發票開立
- 退款處理: 簡化的退款申請流程
用戶等級整合
基於 共同業務規則 - 用戶角色分級:
- 等級特權: 不同等級的功能權限差異
- 升級機制: 基於購買行為的自動升級
- VIP服務: 高價值用戶的專屬服務
- 權限控制: 細粒度的功能權限管理
🧪 Web版測試要點
認證流程測試
- Email註冊和登入流程完整
- 第三方OAuth登入正常
- 密碼重設流程無誤
- 會話管理機制有效
安全機制測試
- 失敗次數限制機制
- 異地登入檢測準確
- 雙因素認證功能正常
- 密碼安全規則執行
訂閱系統測試
- 免費體驗啟動正常
- 訂閱方案切換無誤
- 自動續訂機制有效
- 取消訂閱流程完整
響應式測試
- 1920x1080 認證表單最佳化
- 1366x768 訂閱頁面適配
- 快捷鍵功能完整
- 無障礙設計符合標準
📝 Web端開發注意事項
前端開發
- 整合OAuth 2.0第三方登入SDK
- 實現安全的JWT Token管理
- 設計友善的多步驟表單流程
- 確保認證頁面的載入速度和安全性
業務邏輯整合
- 嚴格遵循 共同業務規則 的認證和訂閱系統
- 整合用戶等級系統和權限控制
- 實現與學習系統的無縫整合
- 確保跨平台的用戶資料同步
安全性要求
- 實現完整的OWASP安全標準
- 用戶敏感資料的加密保護
- 實時安全威脅檢測和防護
- 認證記錄的安全存儲和稽核
用戶體驗設計
- 簡潔直觀的認證流程設計
- 清楚的錯誤提示和解決方案
- 個人化的訂閱推薦和優惠
- 完善的幫助文檔和客服支援
文檔狀態: 🟢 已完成 (基於共用規範更新)
最後更新: 2025-09-11
版本: v2.0 - 整合完整用戶認證與訂閱系統
相關文檔:
../common/business-rules.md- 共同業務規則../common/user-flow-diagrams.md- 用戶流程圖../mobile/user-authentication-mobile.md- 對應的Mobile版規格