Wenn der Abschlussrückruf für Authentifizierungsmethoden ein NSError
Argument empfängt, das nicht Null ist, ist ein Fehler aufgetreten. Um zur entsprechenden Fehlerbehandlungslogik in Ihrem Produktionscode zu gelangen, vergleichen Sie den Fehlercode mit den unten aufgeführten häufigen Fehlern und methodenspezifischen Fehlern.
Einige Fehler können durch bestimmte Benutzeraktionen behoben werden. Beispielsweise kann FIRAuthErrorCodeUserTokenExpired
durch erneutes Anmelden des Benutzers und FIRAuthErrorCodeWrongPassword
durch die Aufforderung an den Benutzer behoben werden, das richtige Kennwort einzugeben.
Außer im Fall von FIRAuthErrorCodeNetworkError
oder FIRAuthErrorCodeTooManyRequests
ist die Wiederholung eines fehlgeschlagenen Vorgangs mit denselben Argumenten nie erfolgreich. Gehen Sie nicht davon aus, ob der Vorgang 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 zur Identifizierung des Fehlers verwendet werden kann. NSLocalizedDescriptionKey
enthält eine Beschreibung des Fehlers. Diese Beschreibung richtet sich an den Entwickler, nicht an den Benutzer. NSUnderlyingErrorKey
enthält den zugrunde liegenden Fehler, der den betreffenden Fehler verursacht hat, sofern ein zugrunde liegender Fehler vorliegt.
Zusätzlich zu den oben aufgeführten Hauptfeldern kann das userInfo
Wörterbuch weitere Felder enthalten, die für die Fehlerdiagnose hilfreich sein 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 kann passieren, wenn das Benutzerkonto gelöscht wurde. |
FIRAuthErrorCodeUserTokenExpired | Zeigt an, dass das Token des aktuellen Benutzers abgelaufen ist. Beispielsweise 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 | Zeigt an, dass die Anfrage blockiert wurde, nachdem eine ungewöhnliche Anzahl von Anfragen vom aufrufenden Gerät an die Firebase-Authentifizierungsserver gestellt wurden. Versuchen Sie es nach einiger Zeit noch einmal. |
FIRAuthErrorCodeInvalidAPIKey | Zeigt an, dass die Anwendung mit einem ungültigen API-Schlüssel konfiguriert wurde. |
FIRAuthErrorCodeAppNotAuthorized | Zeigt an, dass die App nicht berechtigt 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 für den von Ihnen verwendeten API-Schlüssel die Bundle-ID Ihrer Anwendung auf der Whitelist steht. |
FIRAuthErrorCodeKeychainError | Zeigt 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 | 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 fehlerhaft 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 fehlerhaft 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:completion:
Code | Bedeutung |
---|
FIRAuthErrorCodeInvalidCredential | Zeigt an, dass die angegebenen Anmeldeinformationen ungültig sind. Dies kann passieren, wenn es abgelaufen ist oder fehlerhaft ist. |
FIRAuthErrorCodeInvalidEmail | Zeigt an, dass die E-Mail-Adresse fehlerhaft ist, wenn die Anmeldeinformationen vom Typ EmailPasswordAuthCredential sind. |
FIRAuthErrorCodeOperationNotAllowed | Zeigt an, dass Konten mit dem durch die Anmeldeinformationen dargestellten Identitätsanbieter nicht aktiviert sind. Aktivieren Sie sie im Abschnitt „Auth“ der Firebase-Konsole . |
FIRAuthErrorCodeEmailAlreadyInUse | Zeigt an, dass die durch die Anmeldeinformationen bestätigte E-Mail (z. B. die E-Mail 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 bei 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 | Zeigt an, dass der Benutzer versucht hat, sich mit einem falschen Passwort anzumelden, wenn die Anmeldeinformationen vom Typ EmailPasswordAuthCredential sind. |
signInAnonymouslyWithCompletion:
Code | Bedeutung |
---|
FIRAuthErrorCodeOperationNotAllowed | Zeigt an, dass anonyme Konten nicht aktiviert sind. Aktivieren Sie sie im Abschnitt „Auth“ der Firebase-Konsole . |
signInWithCustomToken:completion:
Code | Bedeutung |
---|
FIRAuthErrorCodeInvalidCustomToken | Zeigt einen Validierungsfehler beim benutzerdefinierten Token an. |
FIRAuthErrorCodeCustomTokenMismatch | Zeigt 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 fehlerhaft ist. |
FIRAuthErrorCodeEmailAlreadyInUse | Zeigt an, dass die E-Mail-Adresse, die für den Anmeldeversuch verwendet wurde, bereits vorhanden ist. Rufen Sie fetchProvidersForEmail auf, um zu überprüfen, welche Anmeldemechanismen dieser Benutzer verwendet hat, und fordern Sie den Benutzer auf, sich mit einem dieser Anmeldemechanismen 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 Passwort festzulegen, das als zu schwach erachtet wird. Das Feld NSLocalizedFailureReasonErrorKey “ im Wörterbuchobjekt NSError.userInfo “ enthält ausführlichere Erläuterungen, die dem Benutzer angezeigt werden können. |
Abmelden:
Code | Bedeutung |
---|
FIRAuthErrorCodeKeychainError | Beim Zugriff auf den Schlüsselbund ist ein Fehler aufgetreten. 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 | Zeigt 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 erneut aktiviert wird. |
reauthenticateWithCredential:completion:
Code | Bedeutung |
---|
FIRAuthErrorCodeInvalidCredential | Zeigt an, dass die angegebenen Anmeldeinformationen ungültig sind. Dies kann passieren, wenn es abgelaufen ist oder fehlerhaft ist. |
FIRAuthErrorCodeInvalidEmail | Zeigt an, dass die E-Mail-Adresse fehlerhaft ist, wenn die Anmeldeinformationen vom Typ EmailPasswordAuthCredential sind. |
FIRAuthErrorCodeWrongPassword | Zeigt an, dass der Benutzer versucht hat, sich mit einem falschen Kennwort erneut zu authentifizieren, wenn die Anmeldeinformationen vom Typ EmailPasswordAuthCredential sind. |
FIRAuthErrorCodeUserMismatch | Zeigt an, dass versucht wurde, sich erneut bei einem Benutzer zu authentifizieren, der nicht der aktuelle Benutzer ist. |
FIRAuthErrorCodeOperationNotAllowed | Zeigt an, dass Konten mit dem durch die Anmeldeinformationen dargestellten Identitätsanbieter nicht aktiviert sind. Aktivieren Sie sie im Abschnitt „Auth“ der Firebase-Konsole . |
FIRAuthErrorCodeEmailAlreadyInUse | Zeigt an, dass die durch die Anmeldeinformationen bestätigte E-Mail (z. B. die E-Mail 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 bei 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. |
updateEmail: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 fehlerhaft 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 in letzter Zeit angemeldet hat. Um das Problem zu lösen, authentifizieren Sie den Benutzer erneut, indem Sie reauthenticateWithCredential:completion: für FIRUser aufrufen. |
updatePassword:Vervollständigung:
Code | Bedeutung |
---|
FIRAuthErrorCodeOperationNotAllowed | Zeigt an, dass der Administrator die Anmeldung beim angegebenen Identitätsanbieter deaktiviert hat. |
FIRAuthErrorCodeRequiresRecentLogin | Das Aktualisieren des Passworts eines Benutzers ist ein sicherheitsrelevanter Vorgang, der eine aktuelle Anmeldung des Benutzers erfordert. Dieser Fehler weist darauf hin, dass sich der Benutzer nicht in letzter Zeit angemeldet hat. Um das Problem zu lösen, authentifizieren Sie den Benutzer erneut, indem Sie reauthenticateWithCredential:completion: für FIRUser aufrufen. |
FIRAuthErrorCodeWeakPassword | Zeigt einen Versuch an, ein Passwort festzulegen, das als zu schwach erachtet wird. Das Feld NSLocalizedFailureReasonErrorKey “ im Wörterbuchobjekt NSError.userInfo “ enthält ausführlichere Erläuterungen, die dem Benutzer angezeigt werden können. |
linkWithCredential:completion:
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 Anmeldeinformationen herzustellen, die bereits mit einem anderen Firebase-Konto verknüpft waren. |
FIRAuthErrorCodeOperationNotAllowed | Zeigt an, dass Konten mit dem durch die Anmeldeinformationen dargestellten Identitätsanbieter nicht aktiviert sind. Aktivieren Sie sie im Abschnitt „Auth“ der Firebase-Konsole . |
Diese Methode gibt möglicherweise auch Fehlercodes zurück, die mit updateEmail:completion:
und updatePassword:completion:
für FIRUser
verknüpft sind.
unlinkFromProvider:completion:
Code | Bedeutung |
---|
FIRAuthErrorCodeNoSuchProvider | Zeigt einen Versuch an, die Verknüpfung mit einem Anbieter 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 in letzter Zeit angemeldet hat. Um das Problem zu lösen, authentifizieren Sie den Benutzer erneut, indem Sie reauthenticateWithCredential:completion: für FIRUser aufrufen. |
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 aktuelle Anmeldung des Benutzers erfordert. Dieser Fehler weist darauf hin, dass sich der Benutzer nicht in letzter Zeit angemeldet hat. Um das Problem zu lösen, authentifizieren Sie den Benutzer erneut, indem Sie reauthenticateWithCredential:completion: für FIRUser aufrufen. |