無法登入Whizi,或工作階段一直過期

快速解答

Whizi的存取失敗可分成四種情況:登入嘗試本身失敗、瀏覽器無法取得新的工作階段權杖、另一個工作階段已經開啟,或是帳號共用防護機制拒絕了這次請求。後端傳回的每個驗證失敗都會帶有代碼unauthorized與HTTP 401,而登出後再重新登入就能解決與工作階段有關的情況。

簡短答案

Whizi的存取問題可分成四種情況:登入嘗試本身失敗、瀏覽器無法取得新的工作階段權杖、另一個工作階段已經開啟,或是帳號共用防護機制拒絕了這次請求。錯誤訊息會告訴你是哪一種情況,以下每一則訊息都是直接從產生它的程式碼中逐字擷取。

以下五則訊息涵蓋登入、工作階段、單一工作階段限制與共用拒絕等情況:

訊息觸發原因解決方法
Login failed. Please check your credentials.登入嘗試回傳的狀態不是complete重新輸入電子郵件與密碼,或是重設密碼
Invalid or expired session token.HTTP 401。權杖驗證因任何原因失敗:權杖過期、簽章錯誤、發行者不符登出後再重新登入
Authentication required.HTTP 401。請求的Authorization標頭中沒有帶Bearer權杖重新登入
Please sign out from other sessions and try again.登入錯誤文字中包含「single session mode」在另一個瀏覽器或分頁登出Whizi,然後重試
Account sharing limit reached. Please use your own Whizi account.HTTP 403。帳號在過去24小時內出現超過3組不同的裝置或工作階段金鑰使用你自己的帳號。這個時間窗會持續往前滾動,所以除此之外唯一的辦法就是等待

後端傳回的每個驗證失敗都會帶有代碼unauthorized與HTTP 401。在對話頁面與分享視窗中,後端訊息會逐字顯示,所以網路追蹤紀錄裡的字串,與畫面上看到的字串,在那裡是完全相同的字串。

「工作階段已過期」實際上代表什麼

這代表頁面要求取得新的工作階段權杖,但沒有拿到。同樣這一種情況,會依照發生當下你所在的位置,顯示成不同的句子。

你在哪裡看到它訊息
任何沒有帶權杖的後端呼叫Authentication required.
任何權杖驗證失敗的後端呼叫Invalid or expired session token.
權杖驗證通過但缺少claimThe Clerk user_jwt token must include sub and email claims.
對話清單、載入對話、刪除、重新命名或上傳Failed to retrieve session token.
併排比較,在送出時Your session expired. Please refresh and try again.
匯入ChatGPT或Claude的匯出檔Your session ended. Sign in again, then start the import.
設定頁面,在取消訂閱之前Authentication failed. Please sign in again.
升級視窗,在結帳之前Authentication failed. Please sign in again.
分享視窗Not signed in.
語音疊層Sign in to Whizi to use voice mode.
工作階段呼叫本身Failed to fetch session ({status}).

登出後再重新登入即可。其中有兩則訊息本身就這麼說:Your session ended. Sign in again, then start the import.Authentication failed. Please sign in again.

登入與重設密碼的錯誤

驗證與帳號管理由Clerk提供,所以這些訊息來自登入流程,而不是來自Whizi自己的密碼儲存系統。

訊息觸發條件
Login failed. Please check your credentials.登入嘗試回傳的狀態不是complete
An error occurred during login.登入呼叫拋出錯誤,且沒有回傳可讀的訊息
Please sign out from other sessions and try again.錯誤文字中包含「single session mode」
Failed to authenticate with social login.Google重新導向的交接過程在離開頁面前拋出錯誤
Please enter your email address.送出重設密碼表單時,電子郵件欄位是空的
Failed to send reset email. Please try again.重設密碼的請求拋出錯誤
Current password is required.在重設密碼頁面上,目前密碼欄位是空的
Passwords do not match.兩個新密碼欄位輸入的內容不一致
Failed to reset password. Please try again.重設失敗,且沒有回傳可讀的訊息

在這份清單裡,Please sign out from other sessions and try again.是唯一一則解決方法在別處的訊息:先關閉另一個仍登入Whizi的瀏覽器或分頁,再回來這裡重試。

設定頁面有它自己的一套重設流程,用的是同樣兩則訊息:欄位是空的時候出現Please enter your email address.,寄送失敗時出現Failed to send reset email. Please try again.。整個解決方法就是重試。完整流程的逐步說明在重設你的Whizi密碼。如果一直失敗,請聯絡客服,不要另外建立第二個帳號。

如果在短時間內一直重試,也可能會觸發流量限制,系統會以HTTP 429回應Too many requests. Please wait and try again.。這則訊息背後的時間窗規則,列在Whizi的流量限制

註冊與電子郵件驗證的錯誤

訊息觸發條件
Registration service is not available.送出表單時,註冊物件還沒準備好
Registration failed. Please check your information.註冊呼叫拋出錯誤,且沒有回傳可讀的訊息
Verification service is not available.執行電子郵件驗證碼步驟時,沒有註冊物件
Verification failed. Please try again.驗證嘗試回傳的狀態不是complete
Invalid verification code. Please check your email.驗證呼叫拋出錯誤
Could not start Google sign-up. Please try again.Google註冊的重新導向拋出錯誤
Missing session token after social signup.社群註冊完成後,無法取得任何權杖
Your account was created, but checkout could not start. Please sign in and choose your plan again.註冊時附帶的待處理結帳,事後無法取得權杖

最後一則不代表註冊失敗:帳號確實存在,只是待處理的結帳流程遺失了。接下來該怎麼做,列在結帳時卡片被拒絕或付款失敗

這兩則「not available」訊息,代表送出表單時Clerk的註冊物件還沒準備好,而不是你填的資料被拒絕。等頁面完全載入完成後,再重新送出一次。

臨時電子郵件位址會被拒絕

Temporary email addresses are not allowed. Please use a permanent email address.是HTTP 403,代碼為disposable_email_blocked。當電子郵件網域在拋棄式清單上時,建立帳號的過程就會出現這則訊息。

已經存在的帳號不會受到這份清單影響。解決方法就是改用永久的電子郵件位址,沒有任何例外可以申請。

同一則訊息在結帳時也可能出現,只是狀態碼不同。這部分的說明在結帳時卡片被拒絕或付款失敗

帳號共用已達上限

Account sharing limit reached. Please use your own Whizi account.是HTTP 403,代碼為account_sharing_limit。當同一個帳號在過去24小時內,出現超過3組不同的裝置或工作階段金鑰時,就會觸發這則訊息。

一般的多裝置使用是預期中且受支援的:同一個帳號可以在多個裝置上登入,而且這些裝置都連到相同的後端與相同的對話儲存空間。但每個帳號同一時間只能執行一個生成作業,這是由每個使用者各自的鎖定機制強制執行的,所以同一個帳號不可能有兩個裝置同時進行生成。

這項限制沒有任何設定可以調整,也沒有自助重設的選項。這個時間窗涵蓋過去24小時,所以隨著較舊的裝置金鑰過期,限制會自動解除。如果你一個人一天內用超過三個瀏覽器或裝置,而且一直碰到這個限制,請聯絡客服,不要嘗試自行繞過。

已經登入,但Whizi卻說帳號不存在

當工作階段背後對應的使用者資料列已被刪除,就會出現User not found.。結帳路由在無法讀取呼叫者的資料列時,也會以HTTP 404not_found回傳同一則訊息。

刪除帳號在設定頁面中需要兩步驟確認,執行後會移除現有的Whizi帳號紀錄、同步的對話與訊息、上傳與生成的媒體、儲存的行動裝置記憶、推薦紀錄、行動裝置權益與使用狀態、流量限制狀態、推播權杖,以及Clerk驗證帳號,但仍受隱私政策中所訂的有限保留期限規範。

如果你看到這則訊息,但並沒有刪除任何東西,請聯絡客服。這個狀況沒有自助修復的方法。完整的刪除範圍列在Whizi如何處理你的資料

訪客個人檔案與帳號連結

訪客使用就是不登入的使用方式。在行動應用程式中,建立帳號是選擇性的,不建立帳號繼續使用,會建立一個匿名、綁定裝置的訪客個人檔案,不需要姓名或電子郵件位址。這種模式有它自己一套存取錯誤。

訊息觸發條件
A valid guest session is required.HTTP 401。訪客權杖不存在、格式錯誤,或指向一個不存在的訪客個人檔案
This guest profile has already been linked. Sign in to continue.HTTP 409。這個訪客權杖對應的個人檔案,已經被另一個帳號認領
This guest profile is linked to a different Whizi account.HTTP 409。這次認領的目標訪客個人檔案,已經綁定在其他地方
Wait for the current reply to finish, then try creating your account again.HTTP 409。在生成作業還在進行時,個人檔案就被認領了

只有最後一則有簡單的解決方法:等生成作業完成後,再建立帳號。其他三則都代表這個訪客個人檔案已經綁定到某個帳號,登入那個帳號即可;如果你不認得那個帳號,請聯絡客服。

訪客資料不會因此被困住。資料匯出功能對訪客工作階段同樣有效,因為訪客也保有值得匯出的真實對話與記憶。

當帳號本身無法完成某項操作

以下是帳號層級的失敗,顯示在設定頁面中,而不是登入失敗。

訊息是什麼
Your account could not be deleted. Please try again, or contact support.刪除請求失敗,顯示在設定頁面中
Account deletion failed ({status}).那則提示背後的原始錯誤,附上HTTP狀態碼
Failed to export your data. Please try again.資料匯出失敗,顯示在設定頁面中
Export request failed ({status}).那則提示背後的原始錯誤

資料匯出的流量限制是每分鐘5次請求,因為匯出作業會讀取帳號擁有的所有資料。如果重試的頻率超過每分鐘5次,就會被這個限制拒絕。

Whizi沒有公開或開發者API,不會核發API金鑰,也沒有個人存取權杖。每一條路由都是以終端使用者的工作階段來驗證,所以在存取失敗時,沒有金鑰可以輪替、撤銷或貼上。如果有腳本或第三方工具無法連上你的帳號,原因就在這裡。

操作清單
  • 工作階段錯誤代表請求沒有帶可用的權杖:請登出後再重新登入
  • 「工作階段權杖無效或已過期」是HTTP 401,代碼為unauthorized
  • 單一工作階段訊息代表必須先讓另一個Whizi分頁登出
  • 帳號共用防護機制會在24小時內出現超過3組裝置或工作階段金鑰時觸發,並會自動解除
  • 拋棄式電子郵件網域在註冊時會以HTTP 403 disposable_email_blocked被拒絕
  • 「User not found」代表工作階段背後的帳號紀錄已經消失:請聯絡客服
  • 429代表流量限制的時間窗拒絕了這次請求,請等待,不要不斷重試
  • 沒有任何API金鑰或個人存取權杖可以輪替

常見問題

重設密碼能不能清除Invalid or expired session token.?

不能。這則訊息是在依照Clerk JWKS驗證JWT時拋出錯誤才會出現,所以它跟瀏覽器帶著的權杖有關,而不是跟帳號的密碼有關。重設密碼流程有自己一套獨立的訊息,包括Current password is required.Passwords do not match.。應該改成登出後再重新登入。

Failed to retrieve session token.代表Whizi發生服務中斷嗎?

不是。這不是後端的拒絕回應。只要在對話清單、載入對話、刪除、重新命名或上傳呼叫之前,getToken回傳空值,網站本身就會拋出這則訊息,所以它不帶任何HTTP狀態碼或錯誤代碼。後端對應的訊息(確實帶有狀態碼)是Authentication required.Invalid or expired session token.,兩者都是HTTP 401unauthorized

Failed to fetch session ({status}).是什麼意思?裡面的數字又代表什麼?

這是網站在工作階段呼叫本身失敗時所拋出的原始錯誤,{status}的位置會填入該次呼叫的HTTP狀態碼。這不是特地為讀者撰寫的訊息,所以看起來才會像是內部字串。聯絡客服時,請連同數字一起完整引述。

我完全無法登入,而且以上這些訊息都對不上,現在該怎麼辦?

請聯絡客服,並貼上你看到的確切文字,以及當時你正在做的操作。每一則訊息都對應到程式碼中的一個確切位置,所以逐字的措辭是客服人員最快能派上用場的線索。沒有自助解鎖帳號的方法。