Google 致力于为黑人社区推动种族平等。查看具体举措
此页面由 Cloud Translation API 翻译。
Switch to English

Gestire gli errori di autenticazione iOS di Firebase

Se il callback di completamento sui metodi di autenticazione riceve un argomento NSError diverso da zero, si è verificato un errore. Per inviare la logica di gestione degli errori appropriata nel codice di produzione, controllare il codice di errore con gli errori comuni e gli errori specifici del metodo elencati di seguito.

Alcuni errori possono essere risolti mediante determinate azioni dell'utente, ad esempio FIRAuthErrorCodeUserTokenExpired può essere risolto FIRAuthErrorCodeWrongPassword nuovamente l'utente e FIRAuthErrorCodeWrongPassword chiedendo all'utente di fornire la password corretta.

Tranne nel caso di FIRAuthErrorCodeNetworkError o FIRAuthErrorCodeTooManyRequests , ritentare un'operazione fallita con gli stessi argomenti non avrà mai successo. Non supporre se l'operazione abbia avuto effetto sul lato server.

Quando si analizzano o si registrano errori, consultare 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 esserci altri campi che potresti trovare utili durante la diagnosi degli errori.

Codici di errore comuni a tutti i metodi API

Codice Senso
FIRAuthErrorCodeNetworkError Indica un errore di rete durante l'operazione.
FIRAuthErrorCodeUserNotFound Indica che l'account utente non è stato trovato. Ciò può accadere 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. È necessario richiedere 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 qualche 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 verifica nella scheda credenziali che la chiave API che stai utilizzando abbia inserito nella whitelist l'ID bundle dell'applicazione.
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. Si prega di segnalare l'errore con l'intero oggetto NSError .

Codici di errore specifici del metodo

FIRAuth

fetchProvidersForEmail: esecuzione:

Codice Senso
FIRAuthErrorCodeInvalidEmail Indica che l'indirizzo e-mail non è corretto.

signInWithEmail: Password: esecuzione:

Codice Senso
FIRAuthErrorCodeOperationNotAllowed Indica che gli account di posta elettronica e password non sono abilitati. Abilitarli nella sezione Auth della console di Firebase .
FIRAuthErrorCodeInvalidEmail Indica che l'indirizzo e-mail non è corretto.
FIRAuthErrorCodeUserDisabled Indica che l'account dell'utente è disabilitato.
FIRAuthErrorCodeWrongPassword Indica che l'utente ha tentato di accedere con una password errata.

signInWithCredential: esecuzione:

Codice Senso
FIRAuthErrorCodeInvalidCredential Indica che le credenziali fornite non sono valide. Ciò può accadere se è scaduto o è malformato.
FIRAuthErrorCodeInvalidEmail Indica che l'indirizzo e-mail non è corretto, se le credenziali sono del tipo EmailPasswordAuthCredential .
FIRAuthErrorCodeOperationNotAllowed Indica che gli account con il provider di identità rappresentato dalla credenziale non sono abilitati. Abilitarli nella sezione Auth della console di Firebase .
FIRAuthErrorCodeEmailAlreadyInUse Indica che l'e-mail affermata dalla credenziale (ad esempio l'e-mail in un token di accesso di Facebook) è già in uso 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 fetchProvidersForEmail accesso con uno dei provider di accesso restituiti. Questo errore verrà generato solo se l'impostazione "Un account per indirizzo e-mail" è abilitata nella console di 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 le credenziali sono del tipo EmailPasswordAuthCredential .

signInAnonymouslyWithCompletion:

Codice Senso
FIRAuthErrorCodeOperationNotAllowed Indica che gli account anonimi non sono abilitati. Abilitarli nella sezione Auth della console di Firebase .

signInWithCustomToken: esecuzione:

Codice Senso
FIRAuthErrorCodeInvalidCustomToken Indica un errore di convalida con il token personalizzato.
FIRAuthErrorCodeCustomTokenMismatch Indica che l'account del servizio e la chiave API appartengono a progetti diversi.

createUserWithEmail: Password: esecuzione:

Codice Senso
FIRAuthErrorCodeInvalidEmail Indica che l'indirizzo e-mail non è corretto.
FIRAuthErrorCodeEmailAlreadyInUse Indica che l'e-mail utilizzata per tentare l'iscrizione esiste già. Chiama fetchProvidersForEmail per verificare quali meccanismi di accesso utilizzati da tale utente e fetchProvidersForEmail all'utente di accedere con uno di questi.
FIRAuthErrorCodeOperationNotAllowed Indica che gli account di posta elettronica e password non sono abilitati. Abilitarli nella sezione Autenticazione della console di Firebase .
FIRAuthErrorCodeWeakPassword Indica un tentativo di impostare una password considerata troppo debole. Il campo NSLocalizedFailureReasonErrorKey NSError.userInfo dizionario NSError.userInfo conterrà spiegazioni più dettagliate che possono essere mostrate all'utente.

disconnessione:

Codice Senso
FIRAuthErrorCodeKeychainError Indicato 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 informazioni sulla sessione, non è valido. È necessario richiedere all'utente di accedere nuovamente su questo dispositivo.
FIRAuthErrorCodeUserDisabled Indica che l'account dell'utente è disabilitato e non può più essere utilizzato fino a quando non viene nuovamente abilitato dal pannello Utenti nella console di Firebase.

reauthenticateWithCredential: esecuzione:

Codice Senso
FIRAuthErrorCodeInvalidCredential Indica che le credenziali fornite non sono valide. Ciò può accadere se è scaduto o è malformato.
FIRAuthErrorCodeInvalidEmail Indica che l'indirizzo e-mail non è corretto, se le credenziali sono del tipo EmailPasswordAuthCredential .
FIRAuthErrorCodeWrongPassword Indica che l'utente ha tentato la riautenticazione con una password errata, se le credenziali sono 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. Abilitarli nella sezione Auth della console di Firebase .
FIRAuthErrorCodeEmailAlreadyInUse Indica che l'e-mail affermata dalla credenziale (ad esempio l'e-mail in un token di accesso di Facebook) è già in uso da un account esistente, che non può essere riautenticato con questo metodo di accesso. Chiama fetchProvidersForEmail per l'e-mail di questo utente e quindi fetchProvidersForEmail accesso con uno dei provider di accesso restituiti. Questo errore verrà generato solo se l'impostazione "Un account per indirizzo e-mail" è abilitata nella console di Firebase , in Impostazioni di autenticazione.
FIRAuthErrorCodeUserDisabled Indica che l'account dell'utente è disabilitato.

updateEmail: esecuzione:

Codice Senso
FIRAuthErrorCodeEmailAlreadyInUse Indica che l'e-mail è già in uso da un altro account.
FIRAuthErrorCodeInvalidEmail Indica che l'indirizzo e-mail non è corretto.
FIRAuthErrorCodeRequiresRecentLogin L'aggiornamento della posta elettronica di un utente è un'operazione di sicurezza che richiede un accesso recente da parte dell'utente. Questo errore indica che l'utente non ha effettuato l'accesso di recente. Per risolvere, riautenticare l'utente richiamando reauthenticateWithCredential:completion: su FIRUser .

updatePassword: esecuzione:

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 di recente. Per risolvere, riautenticare l'utente richiamando reauthenticateWithCredential:completion: su FIRUser .
FIRAuthErrorCodeWeakPassword Indica un tentativo di impostare una password considerata troppo debole. Il campo NSLocalizedFailureReasonErrorKey NSError.userInfo dizionario NSError.userInfo conterrà spiegazioni più dettagliate che possono essere mostrate all'utente.

linkWithCredential: esecuzione:

Codice Senso
FIRAuthErrorCodeProviderAlreadyLinked Indica un tentativo di collegare un provider di un tipo già collegato a questo account.
FIRAuthErrorCodeCredentialAlreadyInUse Indica un tentativo di collegamento con una credenziale che è già stata collegata con un altro account Firebase.
FIRAuthErrorCodeOperationNotAllowed Indica che gli account con il provider di identità rappresentato dalla credenziale non sono abilitati. Abilitarli nella sezione Auth della console di Firebase .

Questo metodo può anche restituire codici di errore associati a updateEmail:completion: e updatePassword:completion: su FIRUser .

unlinkFromProvider: esecuzione:

Codice Senso
FIRAuthErrorCodeNoSuchProvider Indica un tentativo di scollegare un provider che 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 di recente. Per risolvere, riautenticare l'utente richiamando reauthenticateWithCredential:completion: su 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 di recente. Per risolvere, riautenticare l'utente richiamando reauthenticateWithCredential:completion: su FIRUser .