EpoCanvas 帳號與會話安全說明

說明訪客、讀者與管理員身份、Epomail 與本地登入、會話令牌、登出、權限判定及失效處理。

版本 发表于 10/19/26 更新于 10/19/26

EpoCanvas 帳號與會話安全說明

COMMUNITY-010 帳號治理 服務端優先

本頁解釋帳號身份與會話如何被使用。它不會把公開名稱、LV/TL、徽章或瀏覽器裡的一段資料視為安全權限;實際權限以服務端驗證為準。

[!WARNING] 會話令牌等同於短期登入憑證。不要把它貼到評論、Issue、截圖、分析工具或第三方網站。若懷疑令牌外洩,請立即登出並依檢舉與申訴說明聯絡站方。

1. 身份、提供者與角色

帳號資料中的「提供者」與「角色」是不同欄位:

概念目前用途不能推導出的結論
訪客沒有持久登入身份,仍可在規則允許下發表部分評論不代表可以 Reaction、查看管理資料或永久保留編輯權
讀者經有效會話驗證的普通使用者不代表擁有管理員權限或任何審核豁免
管理員由服務端依受信任身份與管理設定核驗的站務角色不代表可以在公開頁面揭露讀者私密資料
Epomail 提供者由受信任的 Epomail 流程提供身份資訊不代表任何同名或非受信任來源都能取得管理角色
本地提供者開發或相容流程中的本地讀者身份不會因名稱或前端欄位而自動升級為管理員

目前帳號 API 暴露 Epomail 與 local 兩種登入模式;服務端會對角色做安全降級,未經受信任的管理核驗不得取得 admin 角色。LV、TL、角色與徽章的差異,另見身份等級與徽章說明。

2. 登入與會話生命週期

成功登入或建立本地身份後,服務端會發出會話令牌,並在可用時將使用者與會話保存到 D1;開發或沒有資料庫綁定的路徑可能使用程序記憶體保存,這不是生產耐久性保證。

目前身份服務的程式碼設定會話有效期為 14 天。每次需要身份的 API 都應重新檢查令牌與有效期;過期、撤銷或無法核驗的令牌不得繼續用於帳號資料、評論所有權、Reaction 或管理操作。若未來修改期限,應同步更新本頁與測試。

瀏覽器端會為帳號中心與評論元件保存必要的身份資訊,以便在頁面間同步顯示;這些資料不是額外的權限來源。真正的使用者資料與角色仍由服務端會話回查。

3. 登出、過期與失去所有權

  • 使用帳號中心登出時,客戶端會清除本地身份資料,並請求服務端撤銷會話;
  • 會話自然過期或服務端找不到令牌時,帳號 API 應回傳未授權,前端不得繼續假設已登入;
  • 訪客評論的臨時 session token 只用於證明該瀏覽環境曾取得的留言所有權,重新整理、切換瀏覽器、清除資料或失去令牌後可能無法編輯/刪除;
  • 無法證明所有權時,站方不會以暱稱、頭像或電子郵件的相似性代替有效鑑權;
  • 懷疑帳號被冒用時,不要用新帳號反覆嘗試繞過限制,應先登出、保存必要時間點,再私下通報。

4. 權限如何被判定

服務端權限與身份的最低原則如下:

  1. GET /api/auth/user 與 GET /api/auth/user-level 需要有效會話令牌;
  2. 一般讀者只能查詢自己的身份與等級資料,指定其他電子郵件查詢屬於管理範圍;
  3. 評論編輯與刪除需要留言所有權的有效 session token,或通過管理員驗證;
  4. Reaction/Like 需要登入讀者或管理員身份,訪客不能以作者欄位偽造登入;
  5. 管理員操作仍需使用服務端管理驗證,不會因前端顯示 admin 徽章而自動成立。

具體字數、限流、公開欄位與處置規則,請以評論與審核規範及當下服務端回應為準。

5. 個人資料與帳號更新

帳號可以包含名稱、頭像、網站、簡介、時區與地區等欄位。更新前請確認資料不冒充他人、不包含不必要的敏感資訊,也不要把密碼、令牌或支付資料寫入簡介與網站欄位。

若需要查詢、更正或刪除帳號資料,請參考隱私與資料使用說明並以原有帳號或其他合理方式證明請求者身份。刪除帳號或登出不一定能立即移除已進入評論、備份、審計、財務核對或第三方通知的所有資料。

6. 問題回報

遇到無法登入、錯誤角色、會話反覆失效或疑似未授權操作時,請提供發生時間、頁面/API、瀏覽器、錯誤訊息與不含敏感資料的重現步驟。不要提供完整令牌或密碼;安全疑慮請改用安全問題通報規範。

最後更新:2026-10-20。