Magic Token 機制說明

什麼是 Magic Token?

Magic Token 是 RealVco mVPS 使用的簡化登入機制。傳統的帳號密碼需要記住一堆資訊,而 Magic Token 讓你只需點擊一個連結即可登入。

運作原理

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  你的郵件   │────>│  Magic Link │────>│  自動登入   │
│  中的連結   │     │  (含 Token) │     │  完成       │
└─────────────┘     └─────────────┘     └─────────────┘

當你點擊郵件中的 Magic Link 時:

  1. 瀏覽器開啟連結 — 網址中包含一次性或短期的認證 Token
  2. 系統驗證 Token — 確認 Token 有效且未過期
  3. 建立 Session — 自動登入並將憑證儲存在瀏覽器 localStorage
  4. 後續自動登入 — 只要 Token 未過期,再次開啟網頁即自動登入

Token 類型

RealVco 使用兩種 Token:

Token 類型用途有效期
Magic Link Token首次登入24 小時
Session Token持續登入狀態30 天
  • 出現在安裝完成通知郵件中
  • 內嵌在 Admin Panel 和 AI 夥伴的存取網址
  • 一次性使用,使用後即失效
  • 24 小時後過期

Session Token

  • 成功登入後自動儲存在瀏覽器
  • 之後直接造訪網址即可自動登入
  • 30 天無使用後過期
  • 清除瀏覽器資料後需重新使用 Magic Link

安全考量

為什麼 Magic Token 是安全的?

雖然聽起來「一個連結就能登入」似乎不安全,但實際上有多重保護:

安全機制說明
HTTPS 加密所有連結都使用 HTTPS,Token 在傳輸過程中加密
Token 不可預測使用加密安全的隨機生成,無法被猜測
短期有效Magic Link 24 小時後自動失效
一次性使用使用後立即失效,無法重複使用
IP 限制Token 綁定首次使用的 IP 段,降低被盜用風險

⚠️ 重要提醒

  • 不要分享你的 Magic Link 給不信任的人
  • 不要公開貼(例如貼在論壇、GitHub)
  • 定期檢查 Admin Panel 中的登入紀錄
  • 如果懷疑洩漏,立即重新部署容器產生新的 Token

常見問題

A: 有兩種方式可以重新取得:

  1. 從 Admin Panel 複製:登入 Admin Panel 後,可以複製各容器的 Magic Link
  2. 聯繫客服:提供購買證明,客服可以重新發送安裝郵件

Q: 可以在多個裝置使用嗎?

A: 可以!Magic Link 可以在多個裝置使用,每個裝置會建立獨立的 Session Token。

Q: 清除瀏覽器資料後怎麼辦?

A: 需要重新使用原始的 Magic Link 登入。建議將安裝郵件儲存到安全的地方

Q: 如何登出?

A: 目前沒有主動登出功能。如果需要強制登出,可以:

  1. 清除瀏覽器的 localStorage
  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 在服務器端驗證,確保不被偽造。