簡短答案
手機應用程式才是真正能取代已遺忘密碼的途徑。在其登入畫面選擇「忘記密碼?」,輸入帳號使用的電子郵件地址,Whizi 就會寄出一組 6 位數驗證碼,你會在下一個畫面連同新密碼一起輸入這組代碼。網站那邊的做法掛著相同的標籤,卻是完全不同的東西:網站上的「忘記密碼?」會向驗證服務商請求一封指向 whizi.io/reset-password 的 email_link 登入郵件,而 /reset-password 其實是一份變更表單,其第一個欄位是「目前密碼」。也就是說,網站那一側是在變更一個你仍然記得的密碼。如果網站密碼真的已經遺失,回到帳號的方式是走應用程式那條路或聯絡客服,而不是靠寄來的郵件連結。
重設可以從四個地方開始,而且它們的行為並不相同:
| 從哪裡開始 | 控制項 | 系統會寄出什麼 | 是否先登出 |
|---|---|---|---|
| 網站登入頁 | 密碼欄位標籤列上的 Forgot password? | 一封指向 /reset-password 的 email_link 登入郵件 | 否 |
| 網站設定頁,帳號區段 | Reset Password | 同一封郵件連結,寄到同一個地址 | 是,你一選擇 Send Reset Link 就會發生 |
| 手機應用程式登入畫面 | Forgot password? | 一組 6 位數驗證碼 | 你在那裡本來就已經是登出狀態 |
| 手機應用程式設定頁 | Reset password,需先經過一次確認 | 一組 6 位數驗證碼 | 是,在你確認之後 |
在使用之前最該知道的是第二列。它會當場把你從 Whizi 登出,而且是在檢查你有沒有在電子郵件欄位輸入任何內容之前就這麼做。
Whizi 使用自己的重設畫面
身分驗證是由 Clerk 提供,但畫面本身並不是 Clerk 代管的頁面。登入頁上的重設對話框、/reset-password 的變更表單,以及手機登入畫面內的重設步驟,全都是 Whizi 自己的畫面,底層才呼叫驗證服務商,所以你實際輸入內容的表單是 Whizi 的程式碼,而不是服務商代管的頁面。
這樣的分工決定了失敗時你會看到哪一種措辭。上述每個介面在有服務商訊息可用時都會優先顯示它,沒有的話才退回顯示 Whizi 自己的字串。所以關於密碼長度或強度的拒絕訊息,會以服務商原本的措辭原封不動出現。備援訊息依介面而異,這也是在客服對話中最快判斷失敗發生在哪裡的方法:
| 介面 | 若沒有取得可讀訊息時的備援文字 |
|---|---|
| 網站重設對話框(登入頁與設定頁) | Failed to send reset email. Please try again. |
/reset-password 的網站變更表單 | Failed to reset password. Please try again. |
| 手機登入畫面中的兩個重設步驟 | Couldn't sign in. Please try again. |
Whizi 自己寫的檢查既薄弱又分布不均。網站變更表單要求「目前密碼」欄位必須填寫,且兩個新密碼欄位要一致。手機的重設步驟則完全不做檢查:它只有一個新密碼欄位,內容照你輸入的樣子送出。整個流程中 Whizi 唯一另外做的檢查,是電子郵件欄位不能是空的,這適用於網站的兩個對話框,以及應用程式的第一個重設步驟。Whizi 裡完全沒有寫入最短長度、字元規則或重複使用規則,那些規則都在驗證服務商那一端,並透過它引用的訊息傳達給你。
登入、工作階段與重設相關錯誤字串的完整表格,連同每一則的觸發條件,收錄在當你無法登入時。本頁說明流程,那一頁說明措辭。
從設定頁開始會先把你登出
在網站上,設定頁的帳號區段有一列 Reset Password,就在 Subscription 與 Cancel Subscription 旁邊。點選後會開啟一個對話框,內有 Email Address 欄位與 Send Reset Link 按鈕。
點選那顆按鈕會先把你從 Whizi 登出,才做其他任何事。登出動作會先執行,接著程式才會檢查電子郵件欄位是否已填寫。若你在空白狀態下送出,你就會被登出且什麼都沒寄出,唯一能回去的方式就是回到登入頁。
對話框開啟時該欄位同樣是空白的。它不會自動帶入你目前登入帳號的地址,所以請在打開它之前先準備好地址,而不是等到被登出之後才想起來。
成功訊息會依你從哪裡開始而不同,這也是在客服對話中快速分辨這兩條路徑的方法:
| 介面 | 成功訊息 |
|---|---|
| 登入頁對話框 | Check your inbox for a reset link. |
| 設定頁對話框 | Password reset email sent successfully! |
手機應用程式採用同樣「先登出」的設計,但會先告訴你。在那裡點選重設會跳出一個標題為「Reset your password?」的確認視窗,內文會說明 Whizi 將會把你登出,並寄出一組 6 位數驗證碼到帳號地址,而且會在句子裡直接寫出那個地址,接著要求你在下一個畫面輸入驗證碼以設定新密碼。按鈕分別是 Cancel 與「Sign out and reset」。它也會把你的地址一併帶過登出流程,所以重設步驟開啟時已經自動填好。網站則兩者都沒有做到。
手機應用程式寄出的是驗證碼,不是連結
應用程式的重設是登入畫面上的兩步驟流程,結束後你會直接處於登入狀態,這讓它成為兩條路徑中較好預測的一個。
- 第一步會詢問地址。若空白送出,畫面會回覆
Enter the email address on your account.
- Whizi 會請求驗證碼,接著以
We sent a 6-digit code to加上你輸入的地址來確認。
- 第二步會同時輸入驗證碼與新密碼。若成功,應用程式會啟用新的工作階段並直接帶你進入 Whizi,之後不需要另外再登入一次。
有一種帳號類型無法在這裡完成流程。如果帳號啟用了第二重驗證,應用程式沒有對應的畫面可以處理,只會回覆:「This account needs another verification step. Contact support and we'll help you back in.」這是真正該遵循的指示,而不是要你重試的提示。
應用程式與網站共用的其他一切,包括你回來後看到的方案與對話紀錄,都收錄在手機版 Whizi。
變更一個你早已知道的密碼
網站上的 /reset-password 是一份變更表單,而不是救援表單。它有三個欄位:Current Password、New Password 與 Confirm New Password,若第一個欄位空白就拒絕執行,會顯示 Current password is required.;若後兩個欄位不一致,則顯示 Passwords do not match.
變更成功會終止帳號上所有其他工作階段。這份表單會在更新的同時要求驗證服務商登出其他工作階段,所以任何持有 Whizi 工作階段的其他瀏覽器或裝置都會被這次變更登出,而不只是被放著不管。而且這個過程是無聲的:表單上沒有任何提示,也不會產生任何訊息,所以這個畫面能顯示的字串只有兩則驗證錯誤、服務商自己的拒絕文字,以及下方的成功訊息。在共用電腦上變更密碼之前,請先記住這一點。
成功時頁面會顯示 Password reset successful! Redirecting to chat...,並在暫停兩秒後將你帶到聊天頁面。
直接在網址列輸入這個網址並不是抵達它的方法。這條路徑位在一個守門機制之後,該機制會把已登入的訪客導向聊天頁面,而 /reset-password 並不在豁免於這個機制的四條路徑之中(settings、pricing、terms of service 與 privacy policy 才是)。在登出狀態下造訪,顯示的會是 User not authenticated. Please log in. 而不是表單。登入頁對話框與設定頁對話框都會把同一封郵件連結寄到同一個地址,所以它們也都無法繞過 Current Password 欄位。
密碼重設無法解決的問題
新密碼只會替換憑證。有四件大家期待它能解決的事,它其實做不到:
| 你想解決的問題 | 重設能不能做到 |
|---|---|
清除像 Invalid or expired session token. 這樣的工作階段權杖錯誤 | 不能。那是權杖驗證失敗,詳見當你無法登入時 |
| 變更你用來登入的電子郵件地址 | 不能。目前完全沒有可以自行變更地址的功能,參見變更帳號的電子郵件地址 |
| 找回已經用掉的免費訊息額度 | 不能。免費方案的額度是帳號整個生命週期只有 7 則訊息,沒有任何重設途徑 |
| 把訂閱轉移到另一個帳號 | 不能。方案是跟著帳號走,不是跟著密碼走 |
如果帳號本身使用的地址你已經無法讀取,重設途徑也會跟著失效,因為連結與驗證碼都會寄到那個信箱。請趁舊信箱還能使用時聯絡客服,而不是等到之後才反映。
- 「Forgot password?」位於網站登入頁密碼欄位標籤那一列,點選後會開啟 Reset password 對話框
- 在應用程式裡,它是電子郵件與密碼欄位下方靠右對齊的連結,這兩個欄位只有預留文字,沒有標籤
- 網站會寄出指向 /reset-password 的登入連結,手機應用程式則寄出 6 位數驗證碼
- 設定頁的 Reset Password 會在寄出郵件之前,甚至在檢查電子郵件欄位是否填寫之前,就先把你登出
- 網站的重設欄位從不會自動帶入內容,所以請先準備好帳號地址
- 手機應用程式會先提出警告,自動帶入地址,並在重設完成後直接讓你登入
- 網站的變更表單會檢查目前密碼欄位是否已填寫,以及兩個新密碼欄位是否一致;手機的重設步驟則完全不驗證;所有長度或強度規則都來自驗證服務商
- 變更一個你已經知道的密碼,會登出帳號上所有其他工作階段
- 重設無法清除工作階段權杖錯誤、變更電子郵件地址,或找回已使用的免費訊息
常見問題
Whizi 的 Forgot password 在哪裡?
在網站上,它位於登入畫面,與 Password 標籤同一列且在其右側,點選後會開啟一個標題為 Reset password 的對話框,內含一個 Email 欄位與一個 Send reset link 按鈕。手機應用程式的位置不同:那裡的登入欄位只有預留文字,完全沒有標籤,所以 Forgot password? 是電子郵件與密碼欄位下方,單獨一列靠右對齊的連結。兩種情況都不需要先登入,也沒有另外一個要找的救援網址。
被設定頁的重設功能登出,代表失敗了嗎?
不代表失敗。登出是這條路徑最先做的事,發生在嘗試寄送郵件之前,所以不論郵件是否成功寄出都會發生登出。對話框中出現 Password reset email sent successfully! 才是寄送成功的確認。如果一直沒看到這行字,請從登入頁重新登入,改從那裡開始重設。
重設密碼會讓我在其他裝置上被登出嗎?
會,如果你是從 /reset-password 的變更表單來變更密碼。這次更新會要求驗證服務商在變更的同時登出其他工作階段,所以其他持有 Whizi 工作階段的瀏覽器或裝置都會失去該工作階段。事前沒有任何警告,事後也不會有任何回報,所以請在變更密碼之前,而不是之後,先確認還有哪些裝置處於登入狀態。
我是用 Google 登入的,那我到底在重設什麼密碼?
Whizi 不會依帳號建立方式而有不同分支:重設對話框只接受電子郵件地址,請驗證服務商寄出重設訊息,並原封不動顯示服務商的回覆。如果 Continue with Google 一直是你登入的方式,登入頁上就有那顆按鈕,完全不需要密碼,是更快回到帳號的途徑。如果驗證服務商拒絕重設,它回傳的訊息就是準確的說明,值得原文引用給客服參考。
密碼重設會把我的免費訊息額度還給我嗎?
不會,也不需要如此。免費額度會自動補充:第一天是 7 則訊息,之後每次 UTC 午夜會補 3 則。憑證相關的任何動作都不會影響這個計數。應用程式在額度用完當天顯示的訊息,說明會收錄在「沒有額度時」這篇文章裡,付費方案的額度則收錄在「方案與額度上限」。