Gestire gli errori di autenticazione delle piattaforme Apple Firebase
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Se il callback di completamento sui metodi di autenticazione riceve un argomento NSError diverso da nil, si è verificato un errore. Per inviare alla logica di gestione degli errori appropriata nel codice di produzione, controlla il codice di errore rispetto agli errori comuni e agli errori specifici del metodo elencati di seguito.
Alcuni errori possono essere risolti da particolari azioni dell'utente, ad esempio FIRAuthErrorCodeUserTokenExpired può essere risolto accedendo nuovamente all'utente e FIRAuthErrorCodeWrongPassword chiedendo all'utente di fornire la password corretta.
Tranne nel caso di FIRAuthErrorCodeNetworkError o FIRAuthErrorCodeTooManyRequests , ritentare un'operazione non riuscita con gli stessi argomenti non avrà mai successo. Non dare per scontato se l'operazione abbia avuto effetto o meno sul lato server.
Quando si esaminano o si registrano errori, esaminare il dizionario userInfo . FIRAuthErrorNameKey contiene una stringa del nome di errore multipiattaforma che può essere utilizzata per identificare l'errore. NSLocalizedDescriptionKey contiene una descrizione dell'errore. Questa descrizione è destinata allo sviluppatore, non all'utente. NSUnderlyingErrorKey contiene l'errore sottostante che ha causato l'errore in questione, se è presente un errore sottostante.
Oltre ai campi principali sopra elencati, nel dizionario userInfo possono essere presenti altri campi che potrebbero essere utili durante la diagnosi degli errori.
Codici di errore comuni a tutti i metodi API
Codice
Senso
FIRAuthErrorCodeNetworkError
Indica che si è verificato un errore di rete durante l'operazione.
FIRAuthErrorCodeUserNotFound
Indica che l'account utente non è stato trovato. Ciò potrebbe verificarsi se l'account utente è stato eliminato.
FIRAuthErrorCodeUserTokenExpired
Indica che il token dell'utente corrente è scaduto, ad esempio l'utente potrebbe aver modificato la password dell'account su un altro dispositivo. Devi chiedere all'utente di accedere nuovamente su questo dispositivo.
FIRAuthErrorCodeTooManyRequests
Indica che la richiesta è stata bloccata dopo che è stato effettuato un numero anomalo di richieste dal dispositivo chiamante ai server di autenticazione Firebase. Riprovare dopo un po' di tempo.
FIRAuthErrorCodeInvalidAPIKey
Indica che l'applicazione è stata configurata con una chiave API non valida.
FIRAuthErrorCodeAppNotAuthorized
Indica che l'app non è autorizzata a utilizzare l'autenticazione Firebase con la chiave API fornita. vai alla console API di Google e controlla nella scheda delle credenziali che la chiave API che stai utilizzando abbia l'ID bundle della tua applicazione nella whitelist.
FIRAuthErrorCodeKeychainError
Indica che si è verificato un errore durante l'accesso al portachiavi. I campi NSLocalizedFailureReasonErrorKey e NSUnderlyingErrorKey nel dizionario NSError.userInfo conterranno ulteriori informazioni sull'errore riscontrato.
FIRAuthErrorCodeInternalError
Indica che si è verificato un errore interno. Segnala l'errore con l'intero oggetto NSError .
Codici di errore specifici del metodo
FIRAuth
fetchProvidersForEmail: completamento:
Codice
Senso
FIRAuthErrorCodeInvalidEmail
Indica che l'indirizzo email non è corretto.
accediConE-mail:password:completamento:
Codice
Senso
FIRAuthErrorCodeOperationNotAllowed
Indica che gli account e-mail e password non sono abilitati. Abilitali nella sezione Auth della console Firebase .
FIRAuthErrorCodeInvalidEmail
Indica che l'indirizzo email non è corretto.
FIRAuthErrorCodeUserDisabled
Indica che l'account dell'utente è disabilitato.
FIRAuthErrorCodeWrongPassword
Indica che l'utente ha tentato di accedere con una password errata.
signInWithCredential: completamento:
Codice
Senso
FIRAuthErrorCodeInvalidCredential
Indica che la credenziale fornita non è valida. Ciò potrebbe accadere se è scaduto o non è valido.
FIRAuthErrorCodeInvalidEmail
Indica che l'indirizzo e-mail non ha un formato corretto, se la credenziale è del tipo EmailPasswordAuthCredential .
FIRAuthErrorCodeOperationNotAllowed
Indica che gli account con il provider di identità rappresentato dalla credenziale non sono abilitati. Abilitali nella sezione Auth della console Firebase .
FIRAuthErrorCodeEmailAlreadyInUse
Indica che l'e-mail dichiarata dalla credenziale (ad esempio l'e-mail in un token di accesso di Facebook) è già utilizzata da un account esistente, che non può essere autenticato con questo metodo di accesso. Chiama fetchProvidersForEmail per l'e-mail di questo utente e quindi chiedigli di accedere con uno qualsiasi dei provider di accesso restituiti. Questo errore verrà generato solo se l'impostazione "Un account per indirizzo email" è abilitata nella console Firebase , in Impostazioni di autenticazione.
FIRAuthErrorCodeUserDisabled
Indica che l'account dell'utente è disabilitato.
FIRAuthErrorCodeWrongPassword
Indica che l'utente ha tentato di accedere con una password errata, se la credenziale è del tipo EmailPasswordAuthCredential .
accedi in modo anonimo con completamento:
Codice
Senso
FIRAuthErrorCodeOperationNotAllowed
Indica che gli account anonimi non sono abilitati. Abilitali nella sezione Auth della console Firebase .
signInWithCustomToken: completamento:
Codice
Senso
FIRAuthErrorCodeInvalidCustomToken
Indica un errore di convalida con il token personalizzato.
FIRAuthErrorCodeCustomTokenMismatch
Indica che l'account di servizio e la chiave API appartengono a progetti diversi.
createUserWithEmail:password:completamento:
Codice
Senso
FIRAuthErrorCodeInvalidEmail
Indica che l'indirizzo email non è corretto.
FIRAuthErrorCodeEmailAlreadyInUse
Indica che l'e-mail utilizzata per tentare la registrazione esiste già. Chiama fetchProvidersForEmail per verificare quali meccanismi di accesso ha utilizzato tale utente e chiedi all'utente di accedere con uno di questi.
FIRAuthErrorCodeOperationNotAllowed
Indica che gli account e-mail e password non sono abilitati. Abilitali nella sezione Autenticazione della console Firebase .
FIRAuthErrorCodeWeakPassword
Indica un tentativo di impostare una password considerata troppo debole. Il campo NSLocalizedFailureReasonErrorKey nell'oggetto dizionario NSError.userInfo conterrà una spiegazione più dettagliata che può essere mostrata all'utente.
disconnessione:
Codice
Senso
FIRAuthErrorCodeKeychainError
Indicato che si è verificato un errore durante l'accesso al portachiavi. I campi NSLocalizedFailureReasonErrorKey e NSUnderlyingErrorKey nel dizionario NSError.userInfo conterranno ulteriori informazioni sull'errore riscontrato.
FIRUser
Errori comuni per le operazioni FIRUser
Codice
Senso
FIRAuthErrorCodeInvalidUserToken
Indica che il token di aggiornamento dell'utente che ha effettuato l'accesso, che contiene le informazioni sulla sessione, non è valido. Devi chiedere all'utente di accedere nuovamente su questo dispositivo.
FIRAuthErrorCodeUserDisabled
Indica che l'account dell'utente è disabilitato e non può più essere utilizzato finché non viene nuovamente abilitato dal pannello Utenti nella console Firebase.
reauthenticateWithCredential: completamento:
Codice
Senso
FIRAuthErrorCodeInvalidCredential
Indica che la credenziale fornita non è valida. Ciò potrebbe accadere se è scaduto o non è valido.
FIRAuthErrorCodeInvalidEmail
Indica che l'indirizzo e-mail non ha un formato corretto, se la credenziale è del tipo EmailPasswordAuthCredential .
FIRAuthErrorCodeWrongPassword
Indica che l'utente ha tentato di riautenticazione con una password errata, se la credenziale è del tipo EmailPasswordAuthCredential .
FIRAuthErrorCodeUserMismatch
Indica che è stato effettuato un tentativo di riautenticazione con un utente che non è l'utente corrente.
FIRAuthErrorCodeOperationNotAllowed
Indica che gli account con il provider di identità rappresentato dalla credenziale non sono abilitati. Abilitali nella sezione Auth della console Firebase .
FIRAuthErrorCodeEmailAlreadyInUse
Indica che l'e-mail dichiarata dalla credenziale (ad esempio l'e-mail in un token di accesso di Facebook) è già utilizzata da un account esistente, che non può essere nuovamente autenticato con questo metodo di accesso. Chiama fetchProvidersForEmail per l'e-mail di questo utente e quindi chiedigli di accedere con uno qualsiasi dei provider di accesso restituiti. Questo errore verrà generato solo se l'impostazione "Un account per indirizzo email" è abilitata nella console Firebase , in Impostazioni di autenticazione.
FIRAuthErrorCodeUserDisabled
Indica che l'account dell'utente è disabilitato.
aggiornamentoE-mail:completamento:
Codice
Senso
FIRAuthErrorCodeEmailAlreadyInUse
Indica che l'e-mail è già utilizzata da un altro account.
FIRAuthErrorCodeInvalidEmail
Indica che l'indirizzo email non è corretto.
FIRAuthErrorCodeRequiresRecentLogin
L'aggiornamento dell'e-mail di un utente è un'operazione sensibile alla sicurezza che richiede un accesso recente da parte dell'utente. Questo errore indica che l'utente non ha effettuato l'accesso abbastanza di recente. Per risolvere, autenticare nuovamente l'utente richiamando reauthenticateWithCredential:completion: on FIRUser .
aggiornamentoPassword:completamento:
Codice
Senso
FIRAuthErrorCodeOperationNotAllowed
Indica che l'amministratore ha disabilitato l'accesso con il provider di identità specificato.
FIRAuthErrorCodeRequiresRecentLogin
L'aggiornamento della password di un utente è un'operazione sensibile alla sicurezza che richiede un accesso recente da parte dell'utente. Questo errore indica che l'utente non ha effettuato l'accesso abbastanza di recente. Per risolvere, autenticare nuovamente l'utente richiamando reauthenticateWithCredential:completion: on FIRUser .
FIRAuthErrorCodeWeakPassword
Indica un tentativo di impostare una password considerata troppo debole. Il campo NSLocalizedFailureReasonErrorKey nell'oggetto dizionario NSError.userInfo conterrà una spiegazione più dettagliata che può essere mostrata all'utente.
linkWithCredential: completamento:
Codice
Senso
FIRAuthErrorCodeProviderAlreadyLinked
Indica un tentativo di collegare un fornitore di un tipo già collegato a questo account.
FIRAuthErrorCodeCredentialAlreadyInUse
Indica un tentativo di collegamento con una credenziale che è già stata collegata a un altro account Firebase.
FIRAuthErrorCodeOperationNotAllowed
Indica che gli account con il provider di identità rappresentato dalla credenziale non sono abilitati. Abilitali nella sezione Auth della console Firebase .
Indica un tentativo di scollegare un fornitore non collegato all'account.
FIRAuthErrorCodeRequiresRecentLogin
L'aggiornamento della posta elettronica è un'operazione sensibile alla sicurezza che richiede un accesso recente da parte dell'utente. Questo errore indica che l'utente non ha effettuato l'accesso abbastanza di recente. Per risolvere, autenticare nuovamente l'utente richiamando reauthenticateWithCredential:completion: on FIRUser .
sendEmailVerificationWithCompletion:
Codice
Senso
FIRAuthErrorCodeUserNotFound
Indica che l'account utente non è stato trovato.
deleteWithCompletion:
Codice
Senso
FIRAuthErrorCodeRequiresRecentLogin
L'eliminazione di un account utente è un'operazione sensibile alla sicurezza che richiede un accesso recente da parte dell'utente. Questo errore indica che l'utente non ha effettuato l'accesso abbastanza di recente. Per risolvere, autenticare nuovamente l'utente richiamando reauthenticateWithCredential:completion: on FIRUser .
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2024-03-20 UTC."],[],[]]