免密碼登入如何運作——一組驗證碼同時完成登入與 WhatsApp 驗證
WALLAWHATS 使用同一組 6 位數驗證碼完成登入與 WhatsApp 驗證。本文說明其運作流程、安全性原理,以及與密碼驗證的比較。

你曾經設定過的每一組密碼,都是靜靜躺在某個資料庫裡的小小負債——可能是你的資料庫,也可能是別人的。重複使用的密碼、脆弱的密碼、被釣魚騙走的密碼:大多數帳號被盜事件,起點仍是外洩的憑證,而非零時差漏洞。WALLAWHATS 直接跳過這整個問題類別,因為它從一開始就沒有密碼。登入與 WhatsApp 驗證由同一套機制處理:一組傳送到你所掌控目的地的 6 位數驗證碼。
這不只是使用者體驗上的捷徑。這代表你在建立帳號的那一刻,同時也證明了你確實擁有這支電話號碼或信箱——而幾秒鐘後,關於 X(Twitter)貼文的提醒通知,就會送達這裡。

「免密碼」在這裡究竟代表什麼
免密碼驗證並不是什麼新概念——銀行使用簡訊驗證碼已經行之有年,多數密碼管理程式現在也會建議你改用魔術連結。WALLAWHATS 的實作方式不同之處在於:讓你登入帳號的那組一次性驗證碼,同時也驗證了接收提醒通知的目的地。註冊後不會有另一個藏在設定裡的「確認電話號碼」步驟。所有權與可送達性,是一次到位、同時建立的。
具體來說:
- 在登入畫面輸入電子郵件地址或 WhatsApp 號碼。
- WALLAWHATS 產生一組 6 位數驗證碼,並傳送到該目的地。
- 你在短暫的有效時間內,將驗證碼輸入回應用程式。
- 驗證成功後即完成登入——如果目的地是電話號碼,它現在就是一個已驗證、可接收提醒通知的頻道。
沒有密碼需要設定、記憶、更換或外洩。也沒有「忘記密碼」流程,因為根本不存在需要忘記的密碼。
運作機制:Cognito 自訂驗證,而非外掛式 OTP 程式庫
在底層,這套機制運行於 AWS Cognito 的自訂驗證(Custom Authentication)流程之上——而不是疊加在傳統帳號密碼池上的第三方 OTP 外掛。三個 Lambda 觸發程序協同運作,共同完成整套流程:
- PreSignUp 會在使用者第一次以未曾見過的目的地嘗試登入時,自動確認新使用者。這裡沒有另外的「建立帳號」表單;用一組新的電子郵件或號碼登入,本身就是建立帳號。
- CreateAuthChallenge 產生 6 位數驗證碼,以較短的 TTL 儲存在伺服器端,並將其發送到目的地——如果你輸入的是電話號碼,就透過 WhatsApp 發送,否則透過電子郵件發送。
- VerifyAuthChallengeResponse 會比對你輸入的驗證碼與系統發出的驗證碼,拒絕過期或不相符的嘗試,並對重試進行速率限制。
因為這一切都運行在 Cognito 受管理的驗證狀態機之內,標準的安全保證依然適用:權杖(token)存續時間短、刷新流程由保護整個平台其餘部分的同一套基礎架構處理,也不需要自行稽核那些自製「寄一組驗證碼給對方」實作常見的問題(可預測的 ID、熵不足、缺少過期檢查),因為根本沒有自訂的工作階段權杖程式碼需要審查。
為什麼同一組驗證碼能同時完成兩件事
大多數服務把「證明你是誰」和「證明你能在這裡收到訊息」當成兩個獨立步驟——先用密碼註冊,再另外驗證電話號碼以接收通知。WALLAWHATS 把這兩步合而為一,因為對一個提醒通知產品來說,這其實是同一個問題被問了兩次。
如果 WALLAWHATS 要把一則 WhatsApp 訊息送到某個號碼,它需要知道兩件事:這個號碼是真實且可送達的,以及登入的人確實掌控這個號碼。一組傳送到該號碼、並被正確輸入回來的 6 位數驗證碼,一次就同時回答了這兩個問題。不會出現「已登入」但 WhatsApp 目的地尚未驗證的情況,因為登入本身就是驗證。
同樣的邏輯也適用於電子郵件。用電子郵件地址登入,在該信箱收到驗證碼,再輸入回去——你現在已經登入,而那個信箱也成為電子郵件提醒通知的確認目的地(在所有方案中,電子郵件提醒都會連同文字一併附上每則推文的渲染截圖)。
為什麼這比感覺上更安全
免密碼驗證聽起來應該比較不安全——沒有密碼,也沒有密碼庫。但實際上,它封閉了現實中帳號遭入侵最常見的幾種途徑:
- 不會發生憑證填充攻擊。 沒有從外洩網站重複使用的密碼可供攻擊者拿來嘗試登入你的 WALLAWHATS 帳號,因為根本一開始就沒有密碼可竊取。
- 沒有密碼重設這個攻擊面。 大量帳號被盜事件,都是透過「忘記密碼」流程發生——掌控你信箱的攻擊者,能藉此重設你在各處的密碼。移除密碼,就徹底移除了這條攻擊路徑。
- 以持有為基礎,而非以記憶為基礎。 驗證碼證明的是你現在能存取這支電話或這個信箱,而不是你幾個月前記住(或寫下來、或重複使用)了某個秘密。
- 短效期且僅能使用一次。 驗證碼很快就會過期,且成功使用一次後即失效,不像密碼在你手動更改之前會一直有效。
這樣做的取捨在於,WhatsApp 或電子郵件的傳遞成了你登入關鍵路徑的一部分——如果你兩者都無法存取,帳號救援仍會依循同樣的「已驗證目的地」模式,而不是採用歷來一直是密碼系統中最弱一環的「安全問題」備援機制。
與傳統密碼加上獨立 OTP 驗證的比較
傳統流程大致是這樣:設定一組密碼、透過另一封連結確認電子郵件,之後再到設定裡驗證電話號碼以接收簡訊或推播通知。這是三個獨立的驗證點,也是三個可能出問題、變得過時的環節——一支未驗證的電話號碼在帳號裡擱置好幾週、一組和其他四個服務完全相同的密碼、一封確認連結在任何人點擊之前就已經過期的電子郵件。
WALLAWHATS 把這一切簡化成每個目的地只有一個驗證點。新增一個 WhatsApp 號碼,你收到用來驗證它的驗證碼,之後就是這台裝置上讓你登入的同一組驗證碼。不會有懸而未決的未驗證狀態,因為帳號與目的地是同時達成「已驗證」的。
這也代表切換或新增目的地,其實就只是……用一個新的目的地登入。想在 Business 或 Enterprise 方案下新增第二支已驗證的號碼?輸入號碼、收到驗證碼、確認即可。不需要另外藏在第三層選單裡的「新增電話號碼」表單。
實際設定時,你會看到什麼
在 wallawhats.com/signup,系統只會要求你提供一件事:電子郵件地址或 WhatsApp 號碼。整份表單就是這樣而已。
- 輸入一組 WhatsApp 號碼,驗證碼會在幾秒內以 WhatsApp 訊息形式送達——這也正是之後承載你 X 提醒通知的同一個頻道。
- 輸入一個 email,驗證碼會送達你的信箱——如果你想從共用或公司裝置登入、又不想動用個人 WhatsApp,或者你打算把電子郵件設為提醒通知頻道,這個方式很實用。
無論哪種方式,你都會看到一個要求輸入 6 位數驗證碼的畫面,輸入之後就會進入儀表板。從那裡開始,你隨時可以在 Channels 頁面新增第二個頻道(例如用電子郵件註冊後再加一組 WhatsApp 號碼,反之亦然)——每個新目的地在能接收提醒通知之前,都要經過同樣的一次性驗證碼驗證。如果你不確定該用哪種類型的 WhatsApp 號碼,我們的商業號碼與個人號碼比較指南詳細說明了兩者的取捨。
帳號設定裡不會存在「已新增但未驗證」的電話號碼這種狀態。每個目的地要嘛完成了自己的驗證碼挑戰,要嘛就根本不會被附加到你的帳號上。
關於這不是什麼的說明
要精確描述這套安全模型:這是建立在你已經信任的頻道(WhatsApp、電子郵件)之上的一次性驗證碼驗證,而不是傳統意義上「密碼加第二因子」的多因子驗證。這其中有實質上的差異。傳統 MFA 是在密碼之上再加一個獨立的證明。WALLAWHATS 的模式則是用「持有某個通訊頻道」取代密碼——這是一種不同的風險取捨,而不是在每個面向都嚴格更強的取捨。對一個通知服務來說,這是正確的取捨,因為使用這項產品的前提本來就需要一個已驗證的目的地;把這個驗證步驟重複用於登入,只是去除了摩擦,並沒有移除任何有意義的安全層,因為本來就不存在以密碼為基礎的那一層。
如果你正在為登入與提醒通知選擇頻道,我們的電子郵件與 WhatsApp 比較說明了送達速度與閱讀率的取捨,這些同樣適用於登入驗證碼——WhatsApp 驗證碼你會在幾秒內注意到;電子郵件驗證碼則得和你信箱裡的其他郵件互相競爭注意力。
這對提醒通知產品來說為什麼特別重要
對一個工作內容就是「可靠地把訊息送到你選擇的目的地」的產品來說,身分與目的地不能各走各的。如果登入與頻道驗證是兩套獨立系統,你可能會登入一個帳號,而它的 WhatsApp 號碼是好幾年前新增的,之後可能已被電信業者重新分配給別人,卻從未重新確認過。把登入綁定在傳送到目的地本身的最新驗證碼上,代表這種風險從架構上就不存在——你不可能透過一個目前無法送達的頻道登入,因為可送達性正是讓你登入的原因。
這也代表在常見情況下,帳號救援不需要開客服工單。手機遺失了?改用電子郵件登入即可——同樣的流程、同樣的一次性驗證碼,而你的 WhatsApp 目的地(一旦你在新裝置上重新驗證)會從原本的地方繼續運作。
驗證碼沒有送達時會發生什麼事
任何把傳遞工作交給第三方網路——電信業者、WhatsApp 自身的基礎架構、電子郵件服務商——的系統,都必須考量驗證碼不會立即送達的情況。以下是幾個實際處理方式的重點:
- 有效期限很短,這是刻意設計的。 一組有效數小時的驗證碼,比一組只有數分鐘有效期的驗證碼更容易成為攻擊目標。如果你的驗證碼在輸入前就過期了,重新申請新的驗證碼會立即讓舊的失效。
- 重新發送,而不是重打一次。 如果 WhatsApp 訊息延遲了幾秒鐘(在尖峰發送時段屬於正常現象),或電子郵件掉進了垃圾郵件夾,登入畫面會提供重新發送的選項,而不是要求你無止盡地等待第一次嘗試。
- 速率限制同時保護雙方。 對同一個目的地重複申請驗證碼會被節流。這不只是 WALLAWHATS 的防濫用機制——如果上游有系統過度積極地重試,這也能避免單一帳號無意間對 WhatsApp 或電子郵件服務商的傳遞系統造成過大負擔。
- 如果一個頻道無法送達,就切換頻道。 如果你的手機沒有訊號,但你正在用筆電,改用電子郵件登入即可——這是通往同一個帳號完全獨立的路徑,而不是要等 WhatsApp 那次嘗試先失敗才能啟用的備援方案。
這些都不是 WALLAWHATS 獨有的狀況;這是任何以 OTP 為基礎的系統都必須面對的營運現實。差別在於,因為這組驗證碼同時也是你的頻道驗證,一次成功的登入就能告訴你,你的提醒通知目的地目前是有效的——這是密碼永遠做不到的事。
常見問題
我可以同時用 WhatsApp 和電子郵件登入嗎? 可以。每個頻道在第一次使用時都會被獨立驗證,之後不論用哪一個,都能登入同一個帳號。
如果我沒有完成登入,新的驗證碼會讓我的 WhatsApp 頻道失效嗎? 不會。未完成或已過期的登入嘗試,不會影響已經驗證過的頻道——它只會在你第一次驗證新目的地時才有影響。
如果我之後想更換電話號碼呢? 在 Channels 頁面把新號碼新增為一個頻道;它在能接收提醒通知之前,需要經過自己的一次性驗證碼。你的舊號碼會保持不變,直到你將它移除為止。
這和以簡訊為基礎的雙因子驗證一樣嗎? 並不完全一樣。傳統的簡訊雙因子驗證,是疊加在密碼之上的第二因子。而在這裡,驗證碼就是整套驗證機制——它底下沒有密碼可以讓第二因子附加上去。
開始使用
免密碼登入不是一個需要另外設定的獨立功能——它就是 WALLAWHATS 從 Free 方案以上,所有方案登入的運作方式。如果你還沒設定提醒通知,我們的入門指南完整說明了從第一次登入到收到第一則 WhatsApp 提醒通知的整個流程。
再也不錯過任何重要貼文。 建立免費帳號——1 組 WhatsApp 號碼、即時提醒通知、無需信用卡。
About this article: This article was drafted with the help of an AI assistant using WallaWhats's editorial workflow, then reviewed and approved by Nacho Coll. Every product detail — plans, limits, and how alerts are delivered — is checked against the live WallaWhats service before it's published.

關於作者
Nacho Coll
Founder & Engineer at WallaWhats
Nacho founded WallaWhats so you get the alerts that matter without depending on X's algorithm to surface them — pick the accounts you care about and get a WhatsApp for every post the moment it goes live, in order, nothing throttled or buried. Writes about real-time notification systems, social-signal monitoring, and serverless delivery pipelines from the operator side of the wire.



