dramaling-app/docs/02_design/function-specs/web/user-authentication-web.md

14 KiB
Raw Blame History

用戶認證功能規格文檔 (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頁面 (認證系統架構)

主要頁面

  1. Page_Login_W - 登入頁面 (Web版)
  2. Page_Register_W - 註冊頁面 (Web版)
  3. Page_Password_Reset_W - 密碼重設頁面 (Web版)
  4. Page_Profile_Settings_W - 用戶資料設定頁面 (Web版)
  5. Page_Account_Security_W - 帳戶安全設定頁面 (Web版)

Web專用頁面

  1. Page_SSO_Login_W - 企業單點登入頁面 (Web專用)
  2. Page_Two_Factor_Auth_W - 雙因素認證設定頁面 (Web專用)
  3. Page_Session_Management_W - 會話管理頁面 (Web專用)

訂閱相關頁面

  1. Page_Subscription_Plans_W - 訂閱方案頁面 (Web版)
  2. Page_Trial_Activation_W - 免費體驗啟動頁面 (Web版)
  3. Page_Subscription_Management_W - 訂閱管理頁面 (Web版)

輔助頁面

  1. Modal_Auth_Confirm_W - 身份驗證確認模態視窗
  2. Modal_Session_Timeout_W - 會話逾時提醒視窗
  3. 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天免費體驗訂閱
  • 權益:完整功能體驗
  • 轉換:試用期結束後需選擇訂閱或取消

訂閱用戶

  • 定價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版規格