服務

會員登入與身分驗證系統怎麼做?從社群登入、雙因素到外洩密碼比對的完整規劃(含真實成本與 90 天路線圖)

2026.09.15 · 32 次瀏覽
會員登入與身分驗證系統怎麼做?從社群登入、雙因素到外洩密碼比對的完整規劃(含真實成本與 90 天路線圖)

登入頁是全站唯一每個人都會經過的頁面,也是最常被低估的一頁。這篇把帳號體系拆成可報價的八個區塊,含簡訊成本、三種方案對照、五個真實陷阱與 90 天路線圖。

分享:

一個忘記密碼,吃掉客服 22% 的工單

某電商客戶上線第三個月來找我們:客服工單有 22% 是「登入不了」,大半是 LINE 註冊的人後來又用 Email 註冊一次,變成兩個帳號、兩份點數。報價單上那行寫的是「會員系統 一式 NT$45,000」,真正的成本在後面——重複帳號要合併、點數要對齊、客服要一筆一筆查。登入頁是全站唯一每個人都會經過的頁面,卻常常是規劃時間最短的那一頁。

適用情境 × 不適用情境

適合自建帳號體系不適合,先用現成的
會員資料要跟訂單、點數、權限深度綁定只是要收名單,表單加 Email 行銷工具就夠
同時有官網、App、後台三端要共用身分只有單一網站、無 App、無後台分權
有分級權限(總部/門市/員工/經銷商)使用者不到 500 人且全是內部同事,用 Google Workspace 群組即可
需要稽核軌跡,或有金流與高客單價純資訊型網站,沒有可被盜的價值

三種方案矩陣

方案優點缺點成本級距
自建(Laravel Fortify + Sanctum)資料自持、可深度客製、無人數上限雙因素、風險偵測、稽核要自己補建置 NT$120,000–320,000,之後只有主機費
託管服務(Auth0 / Firebase Authentication上線快、社群登入與 MFA 現成依 MAU 計費,成長後費用陡升;資料在境外建置 NT$60,000–150,000 + 月費依活躍用戶數
電商平台內建(SHOPLINE/91APP 等)幾乎零開發無法跨系統共用身分,資料匯出受限含在平台月費內

決策線很簡單:身分只服務一個系統,就買現成的;身分要橫跨三個以上系統,就自建。託管服務最常見的翻車點不是價格,是兩年後要把使用者搬出來。

完整流程拆解(8 週)

  • 第 1 週|身分盤點(3 天):列出所有進入點(官網、App、LINE、後台、經銷商)與各自的身分來源,用 Notion 交付「身分來源對照表」。
  • 第 2 週|註冊路徑設計(4 天):決定主識別欄位(手機或 Email 擇一為唯一鍵),設計社群登入合併規則,交付 Figma 流程圖與規則表。省掉這步就會產生重複帳號。
  • 第 3–4 週|核心開發(8 天):註冊、登入、忘記密碼、驗證、Session 與 Token 管理。Fortify 打底,行動端用 Sanctum 發 token。
  • 第 5 週|社群登入(4 天):接 LINE Login 與 Google OAuth;有 iOS App 時 Apple 要求併同提供 Sign in with Apple
  • 第 6 週|防護層(5 天):登入節流、人機驗證、Have I Been Pwned 外洩密碼比對、異地登入通知。
  • 第 7 週|雙因素與權限(5 天):TOTP 優先、簡訊 OTP 次之、Passkey 視客群;角色權限用 spatie/laravel-permission。
  • 第 8 週|稽核與上線(4 天):登入事件表、密碼變更紀錄、代登入軌跡,交付維運手冊與帳號合併 SOP。

真實成本完整拆解

  • 開發費:基本帳號體系 NT$120,000 起;社群登入 +NT$35,000;雙因素 +NT$45,000;細緻權限 +NT$60,000。
  • 簡訊 OTP(最常被漏掉):台灣每則約 NT$0.7–1.5,月 8,000 次即 NT$5,600–12,000,一年 NT$7–14 萬。國際更貴,Twilio 公開費率逐國不同。
  • 託管服務月費:以 MAU 計價,前幾千人常免費,跨過門檻是階梯跳漲而非線性。
  • 客服成本:忘記密碼與重複帳號工單,通常是上線前三個月最大的隱藏人力支出。
  • 資料清理:舊系統已有重複帳號時,合併工程約 NT$40,000–150,000。
  • 年度維護:建置金額的 15%–20%,涵蓋 OAuth 憑證與函式庫安全更新。

實施真相 vs 客戶想像

  • 想像:加 LINE 登入是一天的事。真相:技術接法一天,帳號合併規則要討論一週,因為牽涉點數與訂單歸屬。
  • 想像:密碼規則愈嚴愈安全。真相NIST SP 800-63B 建議不要強制定期更換與複雜組合,改以長度下限加外洩密碼比對。
  • 想像:雙因素打開就好。真相:沒有備用碼與救援流程,開啟率愈高客服電話愈多。
  • 想像:會員資料隨時可匯出。真相:託管服務多半不給密碼雜湊,搬家等同全體重設密碼。

五個常見陷阱與解法

  • 手機與 Email 雙唯一鍵。兩個都設 unique,使用者換號就卡死。解法:單一主鍵,另一個設為可驗證屬性。
  • 用 email 當社群登入合併依據。部分供應商回傳中繼信箱。解法:以供應商 user id 為準,衝突走人工確認。
  • 忘記密碼連結沒時效。解法:15 分鐘失效、用過即廢、變更後強制登出所有裝置。
  • 只擋單一 IP。撞庫是分散式的。解法:同時對帳號維度計數,並比對外洩密碼庫。
  • 代登入沒留軌跡。出事時分不清是客戶還是客服操作。解法:留下操作者、時間、原因三欄。

成功指標與 90 天路線圖

  • 第 30 天:註冊完成率 ≥ 75%;登入失敗率 < 8%;重複帳號新增數為 0。
  • 第 60 天:忘記密碼工單佔比降到 5% 以下;雙因素開啟率(有金流會員)≥ 30%。
  • 第 90 天:完成一次帳號合併清理;異常登入告警誤報率 < 10%;產出一份可交接的身分架構文件。

決策清單

  • ☐ 你能說出目前系統的「唯一識別欄位」是什麼嗎?
  • ☐ 同一個人可能從三個以上入口進來?
  • ☐ 會員資料跟訂單或點數綁在一起?
  • ☐ 有 iOS App?(有就必須支援 Sign in with Apple)
  • ☐ 目前有重複帳號問題?
  • ☐ 客服每月處理超過 30 件登入問題?
  • ☐ 有金流或可被變現的點數?
  • ☐ 需要管理員代登入功能?
  • ☐ 有稽核或法遵要求?
  • ☐ 兩年內可能更換前端或加 App?
  • ☐ 簡訊 OTP 的年度預算編了嗎?
  • ☐ 有人能在供應商憑證到期前收到通知?

勾選 6 項以上,建議自建;3 項以下,先用現成方案。

常見問題 FAQ

手機號碼還是 Email 當主帳號比較好?

台灣消費型服務建議用手機當主鍵,換號頻率低於換信箱,且與簡訊 OTP、物流通知一致。B2B 或跨國服務用 Email,因為對方可能沒有本地門號。關鍵是只能選一個當唯一鍵。

一定要做雙因素嗎?

有金流、點數或個資存取權限的服務建議做,但要分級:高風險動作(改綁定、提領、變更收件資訊)才要求二次驗證。全站強制通常換來註冊率下降。

密碼要強制多久換一次?

依 NIST SP 800-63B 的建議,不應強制定期更換,除非有外洩跡象。更有效的做法是設定長度下限(建議 12 碼以上)並在設定當下比對外洩密碼庫。

Passkey(免密碼登入)現在該做嗎?

客群偏年輕或以 App 為主時值得列為第二階段,但不建議當成唯一登入方式,因為裝置遺失的救援仍要靠既有管道。務實做法是先把密碼+外洩比對+TOTP 做穩,再加 Passkey。

下一步

ScriptWalker 的「會員與身分驗證模組建置」起價 NT$120,000,含身分來源盤點、合併規則設計與 8 週建置;既有系統的「帳號健檢與重複帳號清理」從 NT$45,000 起。想先確認該自建還是買現成,帶著上面的決策清單來聊 30 分鐘,不收費。

分享: