Catch up on highlights from Firebase at Google I/O 2023. Learn more

Behandeln Sie Firebase-Authentifizierungsfehler für Apple-Plattformen

Wenn der Abschlussrückruf für Authentifizierungsmethoden ein NSError -Argument empfängt, das nicht null ist, ist ein Fehler aufgetreten. Um an die entsprechende Fehlerbehandlungslogik in Ihrem Produktionscode zu senden, überprüfen Sie den Fehlercode mit den unten aufgeführten allgemeinen Fehlern und methodenspezifischen Fehlern.

Einige Fehler können durch bestimmte Benutzeraktionen behoben werden, z. B. kann FIRAuthErrorCodeUserTokenExpired behoben werden, indem der Benutzer erneut angemeldet wird, und FIRAuthErrorCodeWrongPassword , indem der Benutzer aufgefordert wird, das richtige Kennwort einzugeben.

Außer im Fall von FIRAuthErrorCodeNetworkError oder FIRAuthErrorCodeTooManyRequests wird die Wiederholung eines fehlgeschlagenen Vorgangs mit denselben Argumenten niemals erfolgreich sein. Gehen Sie nicht davon aus, ob die Operation auf der Serverseite wirksam geworden ist oder nicht.

Überprüfen Sie beim Untersuchen oder Protokollieren von Fehlern das userInfo Wörterbuch. FIRAuthErrorNameKey enthält eine plattformübergreifende Fehlernamenzeichenfolge, die zum Identifizieren des Fehlers verwendet werden kann. NSLocalizedDescriptionKey enthält eine Beschreibung des Fehlers. Diese Beschreibung ist für den Entwickler gedacht, nicht für den Benutzer. NSUnderlyingErrorKey enthält den zugrunde liegenden Fehler, der den betreffenden Fehler verursacht hat, falls ein zugrunde liegender Fehler vorhanden ist.

Zusätzlich zu den oben aufgeführten Hauptfeldern kann es im userInfo Wörterbuch weitere Felder geben, die Sie bei der Fehlerdiagnose nützlich finden können.

Fehlercodes, die allen API-Methoden gemeinsam sind

Code Bedeutung
FIRAuthErrorCodeNetworkError Zeigt an, dass während des Vorgangs ein Netzwerkfehler aufgetreten ist.
FIRAuthErrorCodeUserNotFound Zeigt an, dass das Benutzerkonto nicht gefunden wurde. Dies könnte passieren, wenn das Benutzerkonto gelöscht wurde.
FIRAuthErrorCodeUserTokenExpired Zeigt an, dass das Token des aktuellen Benutzers abgelaufen ist, z. B. hat der Benutzer möglicherweise das Kontokennwort auf einem anderen Gerät geändert. Sie müssen den Benutzer auffordern, sich auf diesem Gerät erneut anzumelden.
FIRAuthErrorCodeTooManyRequests Gibt an, dass die Anfrage blockiert wurde, nachdem eine ungewöhnliche Anzahl von Anfragen vom Gerät des Anrufers an die Firebase-Authentifizierungsserver gesendet wurden. Versuchen Sie es nach einiger Zeit erneut.
FIRAuthErrorCodeInvalidAPIKey Zeigt an, dass die Anwendung mit einem ungültigen API-Schlüssel konfiguriert wurde.
FIRAuthErrorCodeAppNotAuthorized Gibt an, dass die App nicht autorisiert ist, die Firebase-Authentifizierung mit dem bereitgestellten API-Schlüssel zu verwenden. Gehen Sie zur Google API-Konsole und überprüfen Sie auf der Registerkarte Anmeldeinformationen, ob der von Ihnen verwendete API-Schlüssel die Bundle-ID Ihrer Anwendung auf der weißen Liste hat.
FIRAuthErrorCodeKeychainError Zeigt an, dass beim Zugriff auf den Schlüsselbund ein Fehler aufgetreten ist. Die Felder NSLocalizedFailureReasonErrorKey und NSUnderlyingErrorKey im Wörterbuch NSError.userInfo enthalten weitere Informationen zu dem aufgetretenen Fehler.
FIRAuthErrorCodeInternalError Zeigt an, dass ein interner Fehler aufgetreten ist. Bitte melden Sie den Fehler mit dem gesamten NSError Objekt.

Methodenspezifische Fehlercodes

FIRAuth

fetchProvidersForEmail:completion:

Code Bedeutung
FIRAuthErrorCodeInvalidEmail Zeigt an, dass die E-Mail-Adresse falsch formatiert ist.

signInWithEmail:password:completion:

Code Bedeutung
FIRAuthErrorCodeOperationNotAllowed Zeigt an, dass E-Mail- und Passwortkonten nicht aktiviert sind. Aktivieren Sie sie im Abschnitt „Auth“ der Firebase-Konsole .
FIRAuthErrorCodeInvalidEmail Zeigt an, dass die E-Mail-Adresse falsch formatiert ist.
FIRAuthErrorCodeUserDisabled Zeigt an, dass das Konto des Benutzers deaktiviert ist.
FIRAuthErrorCodeWrongPassword Zeigt an, dass der Benutzer versucht hat, sich mit einem falschen Passwort anzumelden.

signInWithCredential:Abschluss:

Code Bedeutung
FIRAuthErrorCodeInvalidCredential Gibt an, dass die bereitgestellten Anmeldeinformationen ungültig sind. Dies kann passieren, wenn es abgelaufen oder fehlerhaft ist.
FIRAuthErrorCodeInvalidEmail Gibt an, dass die E-Mail-Adresse falsch formatiert ist, wenn die Anmeldeinformationen vom Typ EmailPasswordAuthCredential .
FIRAuthErrorCodeOperationNotAllowed Gibt an, dass Konten mit dem Identitätsanbieter, der durch die Anmeldeinformationen dargestellt wird, nicht aktiviert sind. Aktivieren Sie sie im Abschnitt „Auth“ der Firebase-Konsole .
FIRAuthErrorCodeEmailAlreadyInUse Gibt an, dass die E-Mail-Adresse, die von den Anmeldeinformationen bestätigt wird (z. B. die E-Mail-Adresse in einem Facebook-Zugriffstoken), bereits von einem vorhandenen Konto verwendet wird, das mit dieser Anmeldemethode nicht authentifiziert werden kann. Rufen Sie fetchProvidersForEmail für die E-Mail-Adresse dieses Benutzers auf, und fordern Sie ihn dann auf, sich mit einem der zurückgegebenen Anmeldeanbieter anzumelden. Dieser Fehler wird nur ausgegeben, wenn die Einstellung „Ein Konto pro E-Mail-Adresse“ in der Firebase-Konsole unter „Authentifizierungseinstellungen“ aktiviert ist.
FIRAuthErrorCodeUserDisabled Zeigt an, dass das Konto des Benutzers deaktiviert ist.
FIRAuthErrorCodeWrongPassword Gibt an, dass der Benutzer versucht hat, sich mit einem falschen Kennwort anzumelden, wenn die Anmeldeinformationen vom Typ EmailPasswordAuthCredential .

AnmeldenAnonymousWithCompletion:

Code Bedeutung
FIRAuthErrorCodeOperationNotAllowed Gibt an, dass anonyme Konten nicht aktiviert sind. Aktivieren Sie sie im Abschnitt „Auth“ der Firebase-Konsole .

signInWithCustomToken: Abschluss:

Code Bedeutung
FIRAuthErrorCodeInvalidCustomToken Zeigt einen Validierungsfehler mit dem benutzerdefinierten Token an.
FIRAuthErrorCodeCustomTokenMismatch Gibt an, dass das Dienstkonto und der API-Schlüssel zu unterschiedlichen Projekten gehören.

createUserWithEmail:password:completion:

Code Bedeutung
FIRAuthErrorCodeInvalidEmail Zeigt an, dass die E-Mail-Adresse falsch formatiert ist.
FIRAuthErrorCodeEmailAlreadyInUse Zeigt an, dass die E-Mail-Adresse, die für den Registrierungsversuch verwendet wurde, bereits existiert. Rufen Sie fetchProvidersForEmail auf, um zu überprüfen, welche Anmeldemechanismen dieser Benutzer verwendet hat, und fordern Sie den Benutzer auf, sich mit einem dieser Mechanismen anzumelden.
FIRAuthErrorCodeOperationNotAllowed Zeigt an, dass E-Mail- und Passwortkonten nicht aktiviert sind. Aktivieren Sie sie im Abschnitt Authentifizierung der Firebase-Konsole .
FIRAuthErrorCodeWeakPassword Zeigt einen Versuch an, ein Kennwort festzulegen, das als zu schwach erachtet wird. Das Feld NSLocalizedFailureReasonErrorKey im Wörterbuchobjekt NSError.userInfo enthält eine ausführlichere Erklärung, die dem Benutzer angezeigt werden kann.

austragen:

Code Bedeutung
FIRAuthErrorCodeKeychainError Zeigt an, dass beim Zugriff auf den Schlüsselbund ein Fehler aufgetreten ist. Die Felder NSLocalizedFailureReasonErrorKey und NSUnderlyingErrorKey im Wörterbuch NSError.userInfo enthalten weitere Informationen zu dem aufgetretenen Fehler.

FIRUser

Häufige Fehler bei FIRUser-Vorgängen

Code Bedeutung
FIRAuthErrorCodeInvalidUserToken Gibt an, dass das Aktualisierungstoken des angemeldeten Benutzers, das Sitzungsinformationen enthält, ungültig ist. Sie müssen den Benutzer auffordern, sich auf diesem Gerät erneut anzumelden.
FIRAuthErrorCodeUserDisabled Zeigt an, dass das Konto des Benutzers deaktiviert ist und nicht mehr verwendet werden kann, bis es im Benutzerbereich der Firebase-Konsole wieder aktiviert wird.

reauthenticateWithCredential:completion:

Code Bedeutung
FIRAuthErrorCodeInvalidCredential Gibt an, dass die bereitgestellten Anmeldeinformationen ungültig sind. Dies kann passieren, wenn es abgelaufen oder fehlerhaft ist.
FIRAuthErrorCodeInvalidEmail Gibt an, dass die E-Mail-Adresse falsch formatiert ist, wenn die Anmeldeinformationen vom Typ EmailPasswordAuthCredential .
FIRAuthErrorCodeWrongPassword Zeigt an, dass der Benutzer versucht hat, sich mit einem falschen Kennwort erneut zu authentifizieren, wenn die Anmeldeinformationen vom Typ EmailPasswordAuthCredential .
FIRAuthErrorCodeUserMismatch Zeigt an, dass versucht wurde, sich erneut bei einem Benutzer zu authentifizieren, der nicht der aktuelle Benutzer ist.
FIRAuthErrorCodeOperationNotAllowed Gibt an, dass Konten mit dem Identitätsanbieter, der durch die Anmeldeinformationen dargestellt wird, nicht aktiviert sind. Aktivieren Sie sie im Abschnitt „Auth“ der Firebase-Konsole .
FIRAuthErrorCodeEmailAlreadyInUse Gibt an, dass die E-Mail-Adresse, die von den Anmeldeinformationen bestätigt wird (z. B. die E-Mail-Adresse in einem Facebook-Zugriffstoken), bereits von einem vorhandenen Konto verwendet wird, das mit dieser Anmeldemethode nicht erneut authentifiziert werden kann. Rufen Sie fetchProvidersForEmail für die E-Mail-Adresse dieses Benutzers auf, und fordern Sie ihn dann auf, sich mit einem der zurückgegebenen Anmeldeanbieter anzumelden. Dieser Fehler wird nur ausgegeben, wenn die Einstellung „Ein Konto pro E-Mail-Adresse“ in der Firebase-Konsole unter „Authentifizierungseinstellungen“ aktiviert ist.
FIRAuthErrorCodeUserDisabled Zeigt an, dass das Konto des Benutzers deaktiviert ist.

UpdateE-Mail:Fertigstellung:

Code Bedeutung
FIRAuthErrorCodeEmailAlreadyInUse Zeigt an, dass die E-Mail bereits von einem anderen Konto verwendet wird.
FIRAuthErrorCodeInvalidEmail Zeigt an, dass die E-Mail-Adresse falsch formatiert ist.
FIRAuthErrorCodeRequiresRecentLogin Das Aktualisieren der E-Mail-Adresse eines Benutzers ist ein sicherheitsrelevanter Vorgang, der eine aktuelle Anmeldung des Benutzers erfordert. Dieser Fehler weist darauf hin, dass sich der Benutzer nicht lange genug angemeldet hat. Um das Problem zu lösen, authentifizieren Sie den Benutzer erneut, indem reauthenticateWithCredential:completion: für FIRUser .

updatePassword:completion:

Code Bedeutung
FIRAuthErrorCodeOperationNotAllowed Gibt an, dass der Administrator die Anmeldung mit dem angegebenen Identitätsanbieter deaktiviert hat.
FIRAuthErrorCodeRequiresRecentLogin Das Aktualisieren des Kennworts eines Benutzers ist ein sicherheitsrelevanter Vorgang, der eine kürzliche Anmeldung des Benutzers erfordert. Dieser Fehler weist darauf hin, dass sich der Benutzer nicht lange genug angemeldet hat. Um das Problem zu lösen, authentifizieren Sie den Benutzer erneut, indem reauthenticateWithCredential:completion: für FIRUser .
FIRAuthErrorCodeWeakPassword Zeigt einen Versuch an, ein Kennwort festzulegen, das als zu schwach erachtet wird. Das Feld NSLocalizedFailureReasonErrorKey im Wörterbuchobjekt NSError.userInfo enthält eine ausführlichere Erklärung, die dem Benutzer angezeigt werden kann.

linkWithCredential:Abschluss:

Code Bedeutung
FIRAuthErrorCodeProviderAlreadyLinked Zeigt einen Versuch an, einen Anbieter eines Typs zu verknüpfen, der bereits mit diesem Konto verknüpft ist.
FIRAuthErrorCodeCredentialAlreadyInUse Zeigt einen Versuch an, eine Verknüpfung mit Anmeldedaten herzustellen, die bereits mit einem anderen Firebase-Konto verknüpft wurden.
FIRAuthErrorCodeOperationNotAllowed Gibt an, dass Konten mit dem Identitätsanbieter, der durch die Anmeldeinformationen dargestellt wird, nicht aktiviert sind. Aktivieren Sie sie im Abschnitt „Auth“ der Firebase-Konsole .

Diese Methode kann auch Fehlercodes zurückgeben, die mit updateEmail:completion: und updatePassword:completion: auf FIRUser .

unlinkFromProvider:Vervollständigung:

Code Bedeutung
FIRAuthErrorCodeNoSuchProvider Zeigt einen Versuch an, die Verknüpfung eines Anbieters aufzuheben, der nicht mit dem Konto verknüpft ist.
FIRAuthErrorCodeRequiresRecentLogin Das Aktualisieren von E-Mails ist ein sicherheitsrelevanter Vorgang, der eine aktuelle Anmeldung des Benutzers erfordert. Dieser Fehler weist darauf hin, dass sich der Benutzer nicht lange genug angemeldet hat. Um das Problem zu lösen, authentifizieren Sie den Benutzer erneut, indem reauthenticateWithCredential:completion: für FIRUser .

sendEmailVerificationWithCompletion:

Code Bedeutung
FIRAuthErrorCodeUserNotFound Zeigt an, dass das Benutzerkonto nicht gefunden wurde.

deleteWithCompletion:

Code Bedeutung
FIRAuthErrorCodeRequiresRecentLogin Das Löschen eines Benutzerkontos ist ein sicherheitsrelevanter Vorgang, der eine kürzliche Anmeldung des Benutzers erfordert. Dieser Fehler weist darauf hin, dass sich der Benutzer nicht lange genug angemeldet hat. Um das Problem zu lösen, authentifizieren Sie den Benutzer erneut, indem reauthenticateWithCredential:completion: für FIRUser .