賬號與安全
本頁覆蓋 Aivory 的賬號全生命週期:註冊(郵箱驗證碼、滑塊驗證)、登入、兩步驗證(2FA)、第三方登入與身份源繫結、密碼與頭像管理、登入裝置、賬號刪除,以及外觀設定、介面語言與 PWA 安裝。

全新部署的第一個賬號不走本頁的註冊流程,而是通過初始化頁面建立並自動成為管理員,詳見 首次啟動。
註冊
訪問 /register 或在登入頁點「立即註冊」。登錄檔單包含:
| 欄位 | 要求 |
|---|---|
| 名字 | 必填,作為顯示名稱 |
| 郵箱 | 必填,用於登入與驗證 |
| 密碼 | 至少 8 個字元,輸入框帶「顯示 / 隱藏密碼」切換 |
| 條款勾選 | 需同意服務條款與隱私政策 |
管理員可以在後臺關閉新使用者註冊(站點設定),關閉後註冊入口不可用。同一網路每天可註冊的賬號數有限額,超過時會提示稍後再試。
滑塊驗證
當管理員開啟「註冊驗證碼」時,提交註冊前會彈出「請完成安全驗證」彈窗:
- 彈窗開啟即載入一張拼圖,拖動下方滑塊把拼圖塊對準缺口。
- 鬆開滑塊即時校驗:成功顯示綠色對勾並自動繼續註冊;失敗顯示紅色叉,換一張新拼圖重試。
- 右上角有重新整理按鈕可以隨時換圖。
驗證通過後簽發一次性通行憑證(10 分鐘有效),註冊請求自動攜帶,無需重複操作。
郵箱驗證碼
當管理員開啟「郵箱驗證」時(需要管理員先在後臺配好 SMTP 發信),註冊提交後進入驗證頁:
- 系統向註冊郵箱傳送 6 位數字驗證碼,10 分鐘內有效。
- 輸入框輸滿 6 位自動提交,貼上完整驗證碼也會立即提交,無需再點按鈕。
- 沒收到郵件可點「重新發送」獲取新碼。
同一個驗證碼連續輸錯 5 次會被作廢,繼續輸入任何碼都無效,必須點「重新發送」獲取新碼。這是防暴力猜碼的保護機制,找回密碼的重置碼同樣適用。
驗證通過後賬號啟用並自動登入,首次進入會看到歡迎向導。
登入
訪問 /login,輸入郵箱與密碼。登入頁還提供:
- 第三方登入按鈕:管理員配置了 OAuth 提供商時顯示(見下文)。
- 忘記密碼?:進入找回流程。
找回密碼
- 在
/forgot-password輸入郵箱,點「傳送重置驗證碼」。 - 系統傳送 6 位重置驗證碼,10 分鐘內有效;頁面提示不會透露該郵箱是否註冊過賬號。
- 輸入驗證碼與新密碼(至少 8 個字元),點「重置密碼」。
- 重置成功後用新密碼重新登入。重置碼同樣受「錯 5 次作廢」保護。
兩步驗證(2FA)
Aivory 支援標準 TOTP 兩步驗證(30 秒視窗、6 位數字),相容 Google Authenticator、Authy、1Password 等所有主流身份驗證器。
開啟
路徑:設定 → 賬號 → 「安全」區 → 「兩步驗證」→ 「開啟」:
- 彈窗顯示一個二維碼與設定金鑰,用身份驗證器 App 掃碼,或手動輸入金鑰新增「基於時間(TOTP)」條目。
- 輸入 App 中顯示的 6 位驗證碼確認,即完成繫結。
金鑰在服務端加密儲存。
開啟後的登入流程
- 輸入郵箱與密碼,通過後進入「兩步驗證」頁,此時尚未登入,系統只發放一張短時票據(預設 5 分鐘有效)。
- 輸入身份驗證器中的 6 位驗證碼完成登入。
安全規則:
| 規則 | 行為 |
|---|---|
| 票據超時 | 超過有效期未完成驗證,需要重新從密碼步開始 |
| 錯誤次數燒燬票據 | 同一票據連續輸錯 5 次驗證碼即被燒燬,截獲票據也無法在有效期內暴力試碼,必須重新輸入密碼 |
| 驗證碼防重放 | 每個驗證碼在其時間視窗內只能使用一次,重複提交會被拒絕 |
通過第三方登入(OAuth)的賬號若開啟了 2FA,登入時同樣要求輸入驗證碼。
關閉
設定 → 賬號 → 「兩步驗證」→ 「關閉」,輸入身份驗證器中的當前驗證碼確認後關閉。關閉不會強制踢出已登入的其他裝置。
恢復(丟失驗證器)
Aivory 不提供一次性恢復碼。如果換機或丟失了身份驗證器導致無法登入,請聯絡你的管理員:管理員可以在後臺使用者管理中為你重置(關閉)兩步驗證,之後你可以用密碼登入並重新繫結,參見 使用者與配額。
OAuth 第三方登入與身份源
用第三方賬號登入
管理員可以在後臺配置 Google、GitHub、Apple 或任意 OIDC 提供商;配置後登入頁會出現對應的登入按鈕。首次用第三方賬號登入時:
- 若第三方郵箱已對應一個本地賬號,則關聯並登入該賬號。
- 若不存在,自動註冊一個新賬號。
身份源繫結(繫結多個登入方式)
路徑:設定 → 賬號 → 「身份源」區(僅當管理員配置了提供商或你已有繫結時顯示)。
- 已繫結列表:每條顯示提供商圖示、名稱、第三方郵箱與繫結日期,右側是「移除」按鈕。用第三方賬號註冊或登入過的使用者天然已有一條。
- 可繫結列表:管理員配置的每個提供商一行,點「繫結」跳轉第三方授權,完成後回到賬號頁並提示「已繫結」。
- 同一個賬號可以繫結多個提供商,登入時任選其一。
繫結規則:
| 情形 | 行為 |
|---|---|
| 同一個第三方賬號已被其他本地賬號繫結 | 繫結失敗,提示「該賬戶已繫結到另一個使用者」,絕不覆蓋或改派 |
| 未設定密碼且只剩最後一個身份源 | 「移除」被停用並提示先設定密碼,防止把自己鎖在門外 |
| 提供商被管理員停用 | 已有繫結仍顯示(標記「已停用」),但不可用於登入 |
繫結流程不會建立新賬號、不簽發新會話,只把第三方身份掛到當前登入的賬號上。
密碼與個人資料
路徑:設定 → 賬號。
修改密碼
「安全」區的「密碼」行顯示上次修改時間(真實記錄;從未改過密碼時顯示「賬號建立後從未修改過」)。點「修改」:
- 輸入當前密碼與新密碼(至少 8 個字元)。
- 修改成功後自動退出登入,需要用新密碼重新登入,彈窗內也有相應提示。
頭像
「個人資料」區的「頭像」行支援上傳、更換與移除;未設定時使用姓名首字母的色塊。
上傳的照片會在瀏覽器端自動壓縮:最長邊縮到 512px,並以 JPEG 遞減質量壓到約 240 KB 以內,因此直接上傳手機原圖也不會因體積超限被拒。
顯示名稱與郵箱
- 顯示名稱:隨時可改,分享會話與工作空間中的其他人會看到這個名字。
- 郵箱:用於登入,介面上鎖定不可自改,如需修改請聯絡管理員。
登入裝置(活躍會話)
「活躍會話」區列出當前登入到你賬號的所有裝置:
- 每條顯示裝置(瀏覽器 / 系統)、基於 IP 的位置(內網顯示「本地網路」)與最近活躍時間,當前裝置帶「當前裝置 / 正在使用」標記。
- 可單獨「退出此會話」,或一鍵「退出其他會話」(保留當前裝置)。
刪除賬號
頁面底部「危險操作」區的「刪除賬號」:輸入密碼確認後,永久刪除你的全部會話、記憶與賬號資料,不可恢復。刪除前建議先匯出個人資料。
外觀設定
路徑:設定 → 外觀。
| 設定項 | 選項 | 儲存位置 |
|---|---|---|
| 配色(主題) | 淺色 / 深色 / 跟隨系統 | 本機瀏覽器 |
| 主題色(強調色) | 紫羅蘭(預設)/ 湖藍 / 餘燼 / 青苔 / 靛青 / 玫粉 / 單色 | 賬號(跨裝置同步) |
| 語言 | 介面語言下拉,見下節 | 本機瀏覽器 |
| 間距(密度) | 緊湊 / 寬鬆 | 本機瀏覽器 |
| 聊天寬度 | 五檔吸附滑塊:窄 / 居中 / 寬 / 全寬 / 超寬(新賬號預設「全寬」) | 賬號(跨裝置同步) |
| 使用者訊息 Markdown | 開關:用 Markdown 渲染你傳送的訊息(程式碼塊、表格、公式) | 賬號(跨裝置同步) |
| 字號 | S / M / L(正文基準 14 / 16 / 18 px) | 本機瀏覽器 |
| 字型 | Geist(預設)/ Inter / 系統字型 / Fraunces(襯線) | 賬號(跨裝置同步) |
說明:
- 「主題色」影響主操作按鈕與聚焦環的強調色,選擇後立即全域性生效。
- 「聊天寬度」控制訊息列的版心寬度,從窄版心到佔滿窗格的超寬檔,每檔都保留成比例的留白;拖動滑塊或點選檔位標籤均可切換。
- 「字型」選擇襯線(Fraunces)時,全站標題與正文一起切換,不會出現混排。
- 標記為「賬號」的項會寫入服務端使用者設定,換裝置登入後自動恢復;標記為「本機」的項只儲存在當前瀏覽器。
介面語言
Aivory 的完整介面(包括管理後臺、法律頁面、錯誤提示與 Toast)提供 5 種語言:
| 程式碼 | 語言 |
|---|---|
en | English |
zh | 簡體中文 |
zh-Hant | 繁體中文 |
ja | 日本語 |
fr | Français |
- 首次訪問時按瀏覽器語言自動選擇(繁體地區變體自動對映到
zh-Hant)。 - 隨時可在 設定 → 外觀 → 「語言」下拉中切換,全域性立即生效。
PWA 安裝
Aivory 是可安裝的 PWA(漸進式 Web 應用):安裝後有獨立圖示,點開是無瀏覽器位址列的獨立全屏視窗。
| 平臺 | 安裝方式 |
|---|---|
| 桌面 Chrome / Edge | 位址列右側的「安裝」圖示,或瀏覽器選單中的「安裝 Aivory」 |
| Android Chrome | 瀏覽器選單 → 「新增到主螢幕」/「安裝應用」 |
| iOS Safari | 分享按鈕 → 「新增到主螢幕」 |
安裝後的特性:
- 獨立全屏:standalone 模式,無位址列;介面已適配劉海屏與底部指示條的安全區。
- 快捷方式:長按(或右鍵)應用圖示可直接「New chat」進入新對話。
- 更新即時:Aivory 的 Service Worker 刻意不快取頁面資源,每次開啟都載入伺服器上的最新前端,不會被舊版本釘住。
瀏覽器只在 HTTPS(或 localhost)環境下允許註冊 Service Worker 與安裝 PWA。如果你的部署走純 HTTP,聊天功能不受影響,但無法安裝為應用;為域名配好 HTTPS 後即可安裝,參見 反向代理。