一個忘記密碼,吃掉客服 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 分鐘,不收費。
- Email:[email protected]
- 電話:0916-224-047
- LINE:@ufv9089p