Magic Token 機制說明
這篇講哪一個 Magic Token?
realvco 體系裡其實有兩種「Magic Link / Token」,常常被搞混:
| 名稱 | 用途 | 機制 | 這篇講嗎 |
|---|---|---|---|
| mVPS Admin Panel Magic Token | 點 Email 連結進自家 mVPS 上的 管理儀表板 | URL 帶 #token=xxx + 30 天 Cookie | ✅ 這篇 |
| realvco.com 帳戶 Magic Link | 登入 realvco.com 帳戶頁 | httpOnly Cookie + CSRF 保護 | ❌ 請看 account/login |
簡單記法:「進你自己的主機」用第一種、「進 realvco 官網」用第二種。
什麼是 Magic Token?
Magic Token 是 realvco mVPS 使用的簡化登入機制。傳統帳號密碼要記一堆資訊,Magic Token 只要點一個連結就能登入。
運作原理
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 你的郵件 │────>│ Magic Link │────>│ 自動登入 │
│ 中的連結 │ │ (含 Token) │ │ 完成 │
└─────────────┘ └─────────────┘ └─────────────┘
當你點開郵件中的 Magic Link 時:
- 瀏覽器開啟連結 — 網址中包含一次性或短期的認證 Token
- 系統驗證 Token — 確認 Token 有效且未過期
- 建立 Session — 自動登入並把憑證放進 Cookie,瀏覽器關掉再開仍記得你(技術上是 httpOnly Cookie,網頁上的 JavaScript 無法讀取,可避免被植入腳本盜取)
- 後續自動登入 — 只要 Cookie 沒過期,下次再打開網頁就自動登入
Token 類型
Realvco 使用兩種 Token:
| Token 類型 | 用途 | 有效期 |
|---|---|---|
| Magic Link Token | 首次登入 | 24 小時 |
| Session Token | 持續登入狀態 | 30 天 |
Magic Link Token
- 出現在安裝完成通知郵件中
- 內嵌在 管理儀表板(Admin Panel) 和 AI 夥伴的存取網址
- 一次性使用,使用後即失效
- 24 小時後過期
Session Token
- 成功登入後自動儲存在瀏覽器
- 之後直接打開網址就會自動登入
- 30 天沒用就會過期
- 清除瀏覽器資料後要重新用 Magic Link 登入
安全考量
一個連結就能登入,不會被盜嗎?
這是大家最常問的疑慮。其實有多重保護:
| 安全機制 | 說明 |
|---|---|
| HTTPS 加密 | 所有連結都使用 HTTPS,Token 在傳輸過程中加密 |
| Token 不可預測 | 使用加密安全的隨機生成,無法被猜測 |
| 短期有效 | Magic Link 24 小時後自動失效 |
| 一次性使用 | 使用後立即失效,無法重複使用 |
| IP 限制 | Token 綁定首次使用的 IP 段,降低被盜用風險 |
保護你的 Magic Link
重要提醒:
- 不要分享你的 Magic Link 給不信任的人
- 不要公開貼(例如貼在論壇、GitHub)
- 定期檢查 管理儀表板 中的登入紀錄
- 如果懷疑洩漏,立即重新部署容器產生新的 Token
常見問題
Q: 忘記存 Magic Link 怎麼辦?
A: 有兩種方式可以重新取得:
- 從管理儀表板複製:登入管理儀表板後,可以複製各容器的 Magic Link
- 聯繫客服:提供購買證明,客服會重新發送安裝郵件
Q: 可以在多個裝置使用嗎?
A: 可以。Magic Link 可以在多個裝置使用,每個裝置會建立獨立的 Session Token。
Q: 清除瀏覽器資料後怎麼辦?
A: 要重新用原始的 Magic Link 登入。建議把安裝郵件存到安全的地方。
Q: 如何登出?
A: 目前沒有主動登出按鈕。如果要強制登出,可以:
- 清除瀏覽器的 Cookie(瀏覽器設定 → 隱私 → 清除特定網站的資料 → 輸入你的主機網址)
- 或者重新部署容器(會產生新的 Token,舊的全部失效)
Cookie 是 httpOnly,意思是只能透過瀏覽器設定清掉,無法用網頁上的 JavaScript 自助清。這是刻意的安全設計(防止惡意腳本偷你的登入狀態),但代價是不能做「按一下就登出」的按鈕。如果你不確定怎麼操作瀏覽器設定,最簡單的方式是用方法 2 重新部署容器,整個 Token 池會被換新,舊的全部失效。
技術細節(給好奇的人)
Token 使用 JWT (JSON Web Token) 格式,包含以下資訊:
Header: { "alg": "HS256", "typ": "JWT" }
Payload: {
"sub": "container_id",
"iat": 1234567890,
"exp": 1234654290,
"role": "admin"
}
Signature: HMACSHA256(base64(header) + "." + base64(payload), secret)
Token 在主機端驗證,確保不被偽造。
相關文件
- realvco.com 帳戶登入 — 不是這篇講的 Magic Link,是登入 realvco 官網的另一套機制
- URL 與 Token 地圖 — 4 組網址與 Token 的全貌
- 安全使用建議