Authentifizierungsfehler der Firebase Apple-Plattform beheben

Wenn der Completion-Callback für Authentication Methoden ein NSError Argument erhält, das nicht null ist, ist ein Fehler aufgetreten. Um die entsprechende Fehlerbehandlungslogik in Ihrem Produktionscode aufzurufen, vergleichen Sie den Fehlercode mit den unten aufgeführten häufigen Fehlern und methodenspezifischen Fehlern.

Einige Fehler können durch bestimmte Nutzeraktionen behoben werden. So kann beispielsweise FIRAuthErrorCodeUserTokenExpired behoben werden, indem sich der Nutzer noch einmal anmeldet, und FIRAuthErrorCodeWrongPassword, indem der Nutzer aufgefordert wird, das richtige Passwort anzugeben.

Außer bei FIRAuthErrorCodeNetworkError oder FIRAuthErrorCodeTooManyRequests wird der Versuch, einen fehlgeschlagenen Vorgang mit denselben Argumenten zu wiederholen, niemals erfolgreich sein. Gehen Sie nicht davon aus, dass der Vorgang serverseitig ausgeführt wurde.

Wenn Sie Fehler untersuchen oder protokollieren, prüfen Sie das userInfo-Wörterbuch. FIRAuthErrorNameKey enthält einen plattformübergreifenden Fehlernamenstring, mit dem der Fehler identifiziert werden kann. NSLocalizedDescriptionKey enthält eine Beschreibung des Fehlers. Diese Beschreibung ist für den Entwickler und nicht für den Nutzer bestimmt. NSUnderlyingErrorKey enthält den zugrunde liegenden Fehler, der den betreffenden Fehler verursacht hat, sofern ein zugrunde liegender Fehler vorhanden ist.

Neben den oben aufgeführten Hauptfeldern können im userInfo-Wörterbuch weitere Felder vorhanden sein, die bei der Diagnose von Fehlern hilfreich sein können.

Fehlercodes, die für alle API-Methoden gelten

Code Bedeutung
FIRAuthErrorCodeNetworkError Gibt an, dass während des Vorgangs ein Netzwerkfehler aufgetreten ist.
FIRAuthErrorCodeUserNotFound Gibt an, dass das Nutzerkonto nicht gefunden wurde. Das kann passieren, wenn das Nutzerkonto gelöscht wurde.
FIRAuthErrorCodeUserTokenExpired Gibt an, dass das Token des aktuellen Nutzers abgelaufen ist. Der Nutzer hat beispielsweise das Kontopasswort auf einem anderen Gerät geändert. Sie müssen den Nutzer auffordern, sich auf diesem Gerät noch einmal anzumelden.
FIRAuthErrorCodeTooManyRequests Gibt an, dass die Anfrage blockiert wurde, nachdem eine ungewöhnlich hohe Anzahl von Anfragen vom Gerät des Aufrufers an die Firebase Authentication Server gesendet wurde. Versuchen Sie es später noch einmal.
FIRAuthErrorCodeInvalidAPIKey Gibt an, dass die Anwendung mit einem ungültigen API-Schlüssel konfiguriert wurde.
FIRAuthErrorCodeAppNotAuthorized Gibt an, dass die App nicht autorisiert ist, Firebase Authentication mit dem angegebenen API-Schlüssel zu verwenden. Rufen Sie die Google API Console auf und prüfen Sie auf dem Tab „Anmeldedaten“, ob die Paket-ID Ihrer Anwendung auf der Zulassungsliste des verwendeten API-Schlüssels steht.
FIRAuthErrorCodeKeychainError Gibt an, dass beim Zugriff auf den Schlüsselbund ein Fehler aufgetreten ist. Die Felder NSLocalizedFailureReasonErrorKey und NSUnderlyingErrorKey im NSError.userInfo-Wörterbuch enthalten weitere Informationen zum aufgetretenen Fehler.
FIRAuthErrorCodeInternalError Gibt 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 Gibt an, dass die E‑Mail-Adresse fehlerhaft ist.

signInWithEmail:password:completion:

Code Bedeutung
FIRAuthErrorCodeOperationNotAllowed Gibt an, dass E‑Mail- und Passwortkonten nicht aktiviert sind. Aktivieren Sie sie in der Firebase Console auf dem Tab Security > Authentication > Sign-in method.
FIRAuthErrorCodeInvalidEmail Gibt an, dass die E‑Mail-Adresse fehlerhaft ist.
FIRAuthErrorCodeUserDisabled Gibt an, dass das Konto des Nutzers deaktiviert ist.
FIRAuthErrorCodeWrongPassword Gibt an, dass sich der Nutzer mit einem falschen Passwort angemeldet hat.

signInWithCredential:completion:

Code Bedeutung
FIRAuthErrorCodeInvalidCredential Gibt an, dass die angegebenen Anmeldedaten ungültig sind. Das kann passieren, wenn sie abgelaufen oder fehlerhaft sind.
FIRAuthErrorCodeInvalidEmail Gibt an, dass die E‑Mail-Adresse fehlerhaft ist, wenn die Anmeldedaten vom Typ EmailPasswordAuthCredential sind.
FIRAuthErrorCodeOperationNotAllowed Gibt an, dass Konten mit dem Identitätsanbieter, der durch die Anmeldedaten dargestellt wird, nicht aktiviert sind. Aktivieren Sie sie in der Firebase Console auf dem Tab Security > Authentication > Sign-in method.
FIRAuthErrorCodeEmailAlreadyInUse Gibt an, dass die E‑Mail-Adresse, die durch die Anmeldedaten bestätigt wird (z.B. die E‑Mail-Adresse in einem Facebook-Zugriffstoken), bereits von einem bestehenden Konto verwendet wird, das mit dieser Anmeldemethode nicht authentifiziert werden kann. Rufen Sie fetchProvidersForEmail für die E‑Mail-Adresse dieses Nutzers auf und fordern Sie ihn dann auf, sich mit einem der zurückgegebenen Anmeldeanbieter anzumelden. Dieser Fehler wird nur ausgelöst, wenn in der Firebase Console die Option „Ein Konto pro E‑Mail-Adresse“ aktiviert ist (Tab Sicherheit > Authentifizierung > Einstellungen Tab).
FIRAuthErrorCodeUserDisabled Gibt an, dass das Konto des Nutzers deaktiviert ist.
FIRAuthErrorCodeWrongPassword Gibt an, dass sich der Nutzer mit einem falschen Passwort angemeldet hat, wenn die Anmeldedaten vom Typ EmailPasswordAuthCredential sind.

signInAnonymouslyWithCompletion:

Code Bedeutung
FIRAuthErrorCodeOperationNotAllowed Gibt an, dass anonyme Konten nicht aktiviert sind. Aktivieren Sie sie in der Firebase Console auf dem Tab Security > Authentication > Sign-in method.

signInWithCustomToken:completion:

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

createUserWithEmail:password:completion:

Code Bedeutung
FIRAuthErrorCodeInvalidEmail Gibt an, dass die E‑Mail-Adresse fehlerhaft ist.
FIRAuthErrorCodeEmailAlreadyInUse Gibt an, dass die E‑Mail-Adresse, die für die Registrierung verwendet wurde, bereits vorhanden ist. Rufen Sie fetchProvidersForEmail auf, um zu prüfen, welche Anmeldemechanismen dieser Nutzer verwendet hat, und fordern Sie den Nutzer auf, sich mit einem dieser Mechanismen anzumelden.
FIRAuthErrorCodeOperationNotAllowed Gibt an, dass E‑Mail- und Passwortkonten nicht aktiviert sind. Aktivieren Sie sie in der Firebase Console auf dem Tab Security > Authentication > Sign-in method.
FIRAuthErrorCodeWeakPassword Gibt an, dass versucht wurde, ein Passwort festzulegen, das als zu schwach gilt. Das Feld NSLocalizedFailureReasonErrorKey im NSError.userInfo-Wörterbuch enthält eine detailliertere Erklärung, die dem Nutzer angezeigt werden kann.

signOut:

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

FIRUser

Häufige Fehler bei FIRUser-Vorgängen

Code Bedeutung
FIRAuthErrorCodeInvalidUserToken Gibt an, dass das Aktualisierungstoken des angemeldeten Nutzers, das Sitzungsinformationen enthält, ungültig ist. Sie müssen den Nutzer auffordern, sich auf diesem Gerät noch einmal anzumelden.
FIRAuthErrorCodeUserDisabled Gibt an, dass das Konto des Nutzers deaktiviert ist und erst wieder verwendet werden kann, wenn es in der Firebase Console wieder aktiviert wird (Tab Sicherheit > Authentifizierung > Nutzer).

reauthenticateWithCredential:completion:

Code Bedeutung
FIRAuthErrorCodeInvalidCredential Gibt an, dass die angegebenen Anmeldedaten ungültig sind. Das kann passieren, wenn sie abgelaufen oder fehlerhaft sind.
FIRAuthErrorCodeInvalidEmail Gibt an, dass die E‑Mail-Adresse fehlerhaft ist, wenn die Anmeldedaten vom Typ EmailPasswordAuthCredential sind.
FIRAuthErrorCodeWrongPassword Gibt an, dass der Nutzer versucht hat, sich mit einem falschen Passwort neu zu authentifizieren, wenn die Anmeldedaten vom Typ EmailPasswordAuthCredential sind.
FIRAuthErrorCodeUserMismatch Gibt an, dass versucht wurde, sich mit einem anderen Nutzer neu zu authentifizieren.
FIRAuthErrorCodeOperationNotAllowed Gibt an, dass Konten mit dem Identitätsanbieter, der durch die Anmeldedaten dargestellt wird, nicht aktiviert sind. Aktivieren Sie sie in der Firebase Console unter Sicherheit > Authentifizierung.
FIRAuthErrorCodeEmailAlreadyInUse Gibt an, dass die E‑Mail-Adresse, die durch die Anmeldedaten bestätigt wird (z.B. die E‑Mail-Adresse in einem Facebook-Zugriffstoken), bereits von einem bestehenden Konto verwendet wird, das mit dieser Anmeldemethode nicht neu authentifiziert werden kann. Rufen Sie fetchProvidersForEmail für die E‑Mail-Adresse dieses Nutzers auf und fordern Sie ihn dann auf, sich mit einem der zurückgegebenen Anmeldeanbieter anzumelden. Dieser Fehler wird nur ausgelöst, wenn in der Firebase Console die Option „Ein Konto pro E‑Mail-Adresse“ aktiviert ist (Tab Sicherheit > Authentifizierung > Einstellungen Tab).
FIRAuthErrorCodeUserDisabled Gibt an, dass das Konto des Nutzers deaktiviert ist.

updateEmail:completion:

Code Bedeutung
FIRAuthErrorCodeEmailAlreadyInUse Gibt an, dass die E‑Mail-Adresse bereits von einem anderen Konto verwendet wird.
FIRAuthErrorCodeInvalidEmail Gibt an, dass die E‑Mail-Adresse fehlerhaft ist.
FIRAuthErrorCodeRequiresRecentLogin Das Aktualisieren der E‑Mail-Adresse eines Nutzers ist ein sicherheitsrelevanter Vorgang, für den sich der Nutzer kürzlich angemeldet haben muss. Dieser Fehler gibt an, dass sich der Nutzer nicht kürzlich genug angemeldet hat. Um das Problem zu beheben, authentifizieren Sie den Nutzer neu, indem Sie reauthenticateWithCredential:completion: für FIRUser aufrufen.

updatePassword:completion:

Code Bedeutung
FIRAuthErrorCodeOperationNotAllowed Gibt an, dass der Administrator die Anmeldung mit dem angegebenen Identitätsanbieter deaktiviert hat.
FIRAuthErrorCodeRequiresRecentLogin Das Aktualisieren des Passworts eines Nutzers ist ein sicherheitsrelevanter Vorgang, für den sich der Nutzer kürzlich angemeldet haben muss. Dieser Fehler gibt an, dass sich der Nutzer nicht kürzlich genug angemeldet hat. Um das Problem zu beheben, authentifizieren Sie den Nutzer neu, indem Sie reauthenticateWithCredential:completion: für FIRUser aufrufen.
FIRAuthErrorCodeWeakPassword Gibt an, dass versucht wurde, ein Passwort festzulegen, das als zu schwach gilt. Das Feld NSLocalizedFailureReasonErrorKey im NSError.userInfo-Wörterbuch enthält eine detailliertere Erklärung, die dem Nutzer angezeigt werden kann.

linkWithCredential:completion:

Code Bedeutung
FIRAuthErrorCodeProviderAlreadyLinked Gibt an, dass versucht wurde, einen Anbieter eines Typs zu verknüpfen, der bereits mit diesem Konto verknüpft ist.
FIRAuthErrorCodeCredentialAlreadyInUse Gibt an, dass versucht wurde, eine Verknüpfung mit Anmeldedaten herzustellen, die bereits mit einem anderen Firebase-Konto verknüpft sind.
FIRAuthErrorCodeOperationNotAllowed Gibt an, dass Konten mit dem Identitätsanbieter, der durch die Anmeldedaten dargestellt wird, nicht aktiviert sind. Aktivieren Sie sie in der Firebase Console auf dem Tab Security > Authentication > Sign-in method.

Diese Methode kann auch Fehlercodes zurückgeben, die mit updateEmail:completion: und updatePassword:completion: für FIRUser verknüpft sind.

unlinkFromProvider:completion:

Code Bedeutung
FIRAuthErrorCodeNoSuchProvider Gibt an, dass versucht wurde, die Verknüpfung mit einem Anbieter aufzuheben, der nicht mit dem Konto verknüpft ist.
FIRAuthErrorCodeRequiresRecentLogin Das Aktualisieren der E‑Mail-Adresse ist ein sicherheitsrelevanter Vorgang, für den sich der Nutzer kürzlich angemeldet haben muss. Dieser Fehler gibt an, dass sich der Nutzer nicht kürzlich genug angemeldet hat. Um das Problem zu beheben, authentifizieren Sie den Nutzer neu, indem Sie reauthenticateWithCredential:completion: für FIRUser aufrufen.

sendEmailVerificationWithCompletion:

Code Bedeutung
FIRAuthErrorCodeUserNotFound Gibt an, dass das Nutzerkonto nicht gefunden wurde.

deleteWithCompletion:

Code Bedeutung
FIRAuthErrorCodeRequiresRecentLogin Das Löschen eines Nutzerkontos ist ein sicherheitsrelevanter Vorgang, für den sich der Nutzer kürzlich angemeldet haben muss. Dieser Fehler gibt an, dass sich der Nutzer nicht kürzlich genug angemeldet hat. Um das Problem zu beheben, authentifizieren Sie den Nutzer neu, indem Sie reauthenticateWithCredential:completion: für FIRUser aufrufen.