Check out the latest news from Firebase at Cloud Next 2025.
Learn more.
處理 Firebase Apple 平台驗證錯誤
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
如果 Authentication 方法上的完成回呼收到 NSError
引數
不是 nil,表示發生錯誤。派遣至適當的錯誤處理
檢查錯誤代碼,找出常見錯誤,並
特定方法的錯誤。
某些錯誤可以由特定使用者動作解決,例如
登入使用者即可解決 FIRAuthErrorCodeUserTokenExpired
,以及要求使用者提供 FIRAuthErrorCodeWrongPassword
正確的密碼
除 FIRAuthErrorCodeNetworkError
或
FIRAuthErrorCodeTooManyRequests
,正在重試失敗的作業
引數永遠不會成功不假設作業是否成功
生效後,從伺服器端開始
調查或記錄錯誤時,請查看 userInfo
字典。
FIRAuthErrorNameKey
包含可允許的跨平台錯誤名稱字串
用來識別錯誤
NSLocalizedDescriptionKey
包含錯誤的說明。這個
說明是供開發人員使用,而不是使用者。
NSUnderlyingErrorKey
包含導致錯誤的錯誤
問題。
除了上述主要欄位以外,您也可以在
userInfo
字典可協助您診斷錯誤。
所有 API 方法通用的錯誤代碼
程式碼 |
意義 |
FIRAuthErrorCodeNetworkError |
表示作業期間發生網路錯誤。 |
FIRAuthErrorCodeUserNotFound |
表示找不到使用者帳戶。如果使用者帳戶遭到刪除,就可能發生這種情況。 |
FIRAuthErrorCodeUserTokenExpired |
表示目前使用者的權杖已過期,例如使用者可能已在其他裝置上變更帳戶密碼。您必須提示使用者在這部裝置上重新登入。 |
FIRAuthErrorCodeTooManyRequests |
表示在呼叫端裝置對 Firebase Authentication 伺服器發出異常數量的要求後,該要求已經遭到封鎖。請稍後再試。 |
FIRAuthErrorCodeInvalidAPIKey |
表示應用程式已設定無效的 API 金鑰。 |
FIRAuthErrorCodeAppNotAuthorized |
表示應用程式無權透過提供的 API 金鑰使用 Firebase 驗證。前往 Google API 控制台,查看您目前使用的 API 金鑰憑證分頁,確認應用程式的軟體包 ID 已加入許可清單。 |
FIRAuthErrorCodeKeychainError |
表示存取鑰匙圈時發生錯誤。NSError.userInfo 字典中的 NSLocalizedFailureReasonErrorKey 和 NSUnderlyingErrorKey 欄位會針對遇到的錯誤提供更多資訊。 |
FIRAuthErrorCodeInternalError |
表示發生內部錯誤。請使用整個 NSError 物件回報錯誤。 |
方法專屬的錯誤代碼
FIRAuth
feedProvidersForEmail:complete:
程式碼 |
意義 |
FIRAuthErrorCodeInvalidEmail |
表示電子郵件地址格式錯誤。 |
signInWithEmail:password:自動完成:
程式碼 |
意義 |
FIRAuthErrorCodeOperationNotAllowed |
表示電子郵件和密碼帳戶尚未啟用。請前往 Firebase 控制台的「驗證」專區啟用。 |
FIRAuthErrorCodeInvalidEmail |
表示電子郵件地址格式錯誤。 |
FIRAuthErrorCodeUserDisabled |
表示使用者帳戶已停用。 |
FIRAuthErrorCodeWrongPassword |
表示使用者嘗試以錯誤的密碼登入。 |
signInWithCredential:自動完成:
程式碼 |
意義 |
FIRAuthErrorCodeInvalidCredential |
表示提供的憑證無效。如果訂單已過期或格式錯誤,就有可能會發生這種情況。 |
FIRAuthErrorCodeInvalidEmail |
如果憑證是 EmailPasswordAuthCredential 類型,表示電子郵件地址格式錯誤。 |
FIRAuthErrorCodeOperationNotAllowed |
表示帳戶並未啟用由憑證所代表的識別資訊提供者。請前往 Firebase 控制台的「驗證」專區啟用。 |
FIRAuthErrorCodeEmailAlreadyInUse |
指出由憑證所聲明的電子郵件 (例如 Facebook 存取權杖中的電子郵件) 目前已有人使用,因此無法以這個登入方式進行驗證。針對這位使用者的電子郵件呼叫 fetchProvidersForEmail ,然後提示使用者使用系統傳回的任一登入服務供應商登入。只有在「每個電子郵件地址一個帳戶」的情況下,系統才會擲回這個錯誤。設定已在 Firebase 控制台的「Authentication」設定中啟用。 |
FIRAuthErrorCodeUserDisabled |
表示使用者帳戶已停用。 |
FIRAuthErrorCodeWrongPassword |
表示使用者嘗試以錯誤的密碼登入 (如果憑證類型為 EmailPasswordAuthCredential )。 |
SignInAnonymouslyWithComplete:
程式碼 |
意義 |
FIRAuthErrorCodeOperationNotAllowed |
表示匿名帳戶尚未啟用。請前往 Firebase 控制台的「驗證」專區啟用。 |
signInWithCustomToken:自動完成:
程式碼 |
意義 |
FIRAuthErrorCodeInvalidCustomToken |
表示自訂權杖的驗證錯誤。 |
FIRAuthErrorCodeCustomTokenMismatch |
表示服務帳戶和 API 金鑰分屬不同的專案。 |
createUserWithEmail:password:自動完成:
程式碼 |
意義 |
FIRAuthErrorCodeInvalidEmail |
表示電子郵件地址格式錯誤。 |
FIRAuthErrorCodeEmailAlreadyInUse |
表示用來註冊的電子郵件地址已存在。請呼叫 fetchProvidersForEmail 來檢查這類使用者使用的登入機制,並提示使用者透過其中一種機制登入。 |
FIRAuthErrorCodeOperationNotAllowed |
表示電子郵件和密碼帳戶尚未啟用。請前往 Firebase 控制台的 Authentication 部分啟用。 |
FIRAuthErrorCodeWeakPassword |
表示嘗試設定的密碼強度太弱。NSError.userInfo 字典物件中的 NSLocalizedFailureReasonErrorKey 欄位會包含更多向使用者顯示的詳細說明。 |
登出:
程式碼 |
意義 |
FIRAuthErrorCodeKeychainError |
存取鑰匙圈時發生錯誤。NSError.userInfo 字典中的 NSLocalizedFailureReasonErrorKey 和 NSUnderlyingErrorKey 欄位會針對遇到的錯誤提供更多資訊。 |
FIRUser
FIRUser 作業的常見錯誤
程式碼 |
意義 |
FIRAuthErrorCodeInvalidUserToken |
表示保留工作階段資訊的已登入使用者更新權杖無效。您必須提示使用者在這部裝置上重新登入。 |
FIRAuthErrorCodeUserDisabled |
表示使用者帳戶已停用,必須於 Firebase 控制台的「使用者」面板重新啟用後才能再次使用。 |
reauthenticateWithCredential:自動完成:
程式碼 |
意義 |
FIRAuthErrorCodeInvalidCredential |
表示提供的憑證無效。如果訂單已過期或格式錯誤,就有可能會發生這種情況。 |
FIRAuthErrorCodeInvalidEmail |
如果憑證是 EmailPasswordAuthCredential 類型,表示電子郵件地址格式錯誤。 |
FIRAuthErrorCodeWrongPassword |
表示使用者嘗試以錯誤的密碼重新驗證 (如果憑證類型為 EmailPasswordAuthCredential )。 |
FIRAuthErrorCodeUserMismatch |
表示已嘗試以非目前使用者的使用者重新驗證。 |
FIRAuthErrorCodeOperationNotAllowed |
表示帳戶並未啟用由憑證所代表的識別資訊提供者。請前往 Firebase 控制台的「驗證」專區啟用。 |
FIRAuthErrorCodeEmailAlreadyInUse |
指出由憑證所聲明的電子郵件 (例如 Facebook 存取權杖中的電子郵件) 目前已有人使用,因此無法以這個登入方式重新驗證。針對這位使用者的電子郵件呼叫 fetchProvidersForEmail ,然後提示使用者使用系統傳回的任一登入服務供應商登入。只有在「每個電子郵件地址一個帳戶」的情況下,系統才會擲回這個錯誤。設定已在 Firebase 控制台的「Authentication」設定中啟用。 |
FIRAuthErrorCodeUserDisabled |
表示使用者帳戶已停用。 |
updateEmail:complete:
程式碼 |
意義 |
FIRAuthErrorCodeEmailAlreadyInUse |
表示另一個帳戶已使用這個電子郵件地址。 |
FIRAuthErrorCodeInvalidEmail |
表示電子郵件地址格式錯誤。 |
FIRAuthErrorCodeRequiresRecentLogin |
更新使用者的電子郵件屬於安全性敏感作業,使用者必須近期登入才能進行。此錯誤表示使用者最近沒有登入一段時間。如要解決這個問題,請在 FIRUser 上叫用 reauthenticateWithCredential:completion: ,重新驗證使用者。 |
updatePassword:complete:
程式碼 |
意義 |
FIRAuthErrorCodeOperationNotAllowed |
表示管理員已停用使用指定識別資訊提供者的登入功能。 |
FIRAuthErrorCodeRequiresRecentLogin |
更新使用者密碼屬於安全性敏感作業,使用者必須近期登入才能進行。此錯誤表示使用者最近沒有登入一段時間。如要解決這個問題,請在 FIRUser 上叫用 reauthenticateWithCredential:completion: ,重新驗證使用者。 |
FIRAuthErrorCodeWeakPassword |
表示嘗試設定的密碼強度太弱。NSError.userInfo 字典物件中的 NSLocalizedFailureReasonErrorKey 欄位會包含更多向使用者顯示的詳細說明。 |
linkWithCredential:自動完成:
程式碼 |
意義 |
FIRAuthErrorCodeProviderAlreadyLinked |
表示嘗試連結已連結至此帳戶類型的提供者。 |
FIRAuthErrorCodeCredentialAlreadyInUse |
表示嘗試連結的憑證已連結至其他 Firebase 帳戶。 |
FIRAuthErrorCodeOperationNotAllowed |
表示帳戶並未啟用由憑證所代表的識別資訊提供者。請前往 Firebase 控制台的「驗證」專區啟用。 |
這個方法也可能會傳回與 updateEmail:completion:
和
updatePassword:completion:
(FIRUser
)。
LinkFromProvider:complete:
程式碼 |
意義 |
FIRAuthErrorCodeNoSuchProvider |
表示嘗試取消連結未連結到帳戶的供應商。 |
FIRAuthErrorCodeRequiresRecentLogin |
更新電子郵件屬於安全性敏感作業,使用者必須近期登入才能更新。此錯誤表示使用者最近沒有登入一段時間。如要解決這個問題,請在 FIRUser 上叫用 reauthenticateWithCredential:completion: ,重新驗證使用者。 |
sendEmailVerificationWithComplete:
程式碼 |
意義 |
FIRAuthErrorCodeUserNotFound |
表示找不到使用者帳戶。 |
deleteWithCompleted:
程式碼 |
意義 |
FIRAuthErrorCodeRequiresRecentLogin |
刪除使用者帳戶屬於安全性敏感作業,使用者必須近期登入才能進行。此錯誤表示使用者最近沒有登入一段時間。如要解決這個問題,請在 FIRUser 上叫用 reauthenticateWithCredential:completion: ,重新驗證使用者。 |
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-04-15 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-04-15 (世界標準時間)。"],[],[]]