Se il callback di completamento sui metodi di autenticazione riceve un argomento NSError
che non è nullo, si è verificato un errore. Per inviare alla logica di gestione degli errori appropriata nel codice di produzione, controllare il codice di errore rispetto a errori comuni ed errori specifici del metodo elencati di seguito.
Alcuni errori possono essere risolti da particolari azioni dell'utente, ad esempio FIRAuthErrorCodeUserTokenExpired
può essere risolto FIRAuthErrorCodeUserTokenExpired
di nuovo l'utente e FIRAuthErrorCodeWrongPassword
chiedendo all'utente di fornire la password corretta.
Tranne nel caso di FIRAuthErrorCodeNetworkError
o FIRAuthErrorCodeTooManyRequests
, ripetere un'operazione non riuscita con gli stessi argomenti non avrà mai successo. Non presupporre se l'operazione ha avuto effetto sul lato server.
Quando si analizzano o si registrano errori, esaminare il dizionario userInfo
. FIRAuthErrorNameKey
contiene una stringa del nome dell'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, possono esserci altri campi nel dizionario userInfo
che potresti trovare 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 accadere se l'account utente è stato eliminato. |
FIRAuthErrorCodeUserTokenExpired | Indica che il token dell'utente corrente è scaduto, ad esempio, l'utente potrebbe aver cambiato la password dell'account su un altro dispositivo. È necessario richiedere all'utente di accedere di nuovo su questo dispositivo. |
FIRAuthErrorCodeTooManyRequests | Indica che la richiesta è stata bloccata dopo che un numero anomalo di richieste è stato effettuato dal dispositivo chiamante ai server Firebase Authentication. Riprova 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 Firebase Authentication con la chiave API fornita. vai alla console dell'API di Google e controlla nella scheda delle credenziali che la chiave API che stai utilizzando abbia l'ID bundle della tua applicazione autorizzato. |
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 e-mail non è corretto. |
signInWithEmail: password: completamento:
Codice | Senso |
---|
FIRAuthErrorCodeOperationNotAllowed | Indica che gli account di posta elettronica e password non sono abilitati. Abilitalo nella sezione Autenticazione della console 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: completamento:
Codice | Senso |
---|
FIRAuthErrorCodeInvalidCredential | Indica che la credenziale fornita non è valida. Ciò potrebbe accadere se è scaduto o è malformato. |
FIRAuthErrorCodeInvalidEmail | Indica che l'indirizzo di posta elettronica non è valido se la credenziale è del tipo EmailPasswordAuthCredential . |
FIRAuthErrorCodeOperationNotAllowed | Indica che gli account con il provider di identità rappresentato dalle credenziali non sono abilitati. Abilitalo nella sezione Autenticazione 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à in uso da un account esistente, che non può essere autenticato con questo metodo di accesso. Chiama fetchProvidersForEmail per l'email di questo utente, quindi fetchProvidersForEmail di accedere con uno dei provider di accesso restituiti. Questo errore verrà visualizzato 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 . |
signInAnonymouslyWithCompletion:
Codice | Senso |
---|
FIRAuthErrorCodeOperationNotAllowed | Indica che gli account anonimi non sono abilitati. Abilitalo nella sezione Autenticazione 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 e-mail non è corretto. |
FIRAuthErrorCodeEmailAlreadyInUse | Indica che l'e-mail utilizzata per tentare la registrazione esiste già. Chiama fetchProvidersForEmail per controllare quali meccanismi di accesso ha utilizzato 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. Abilitalo nella sezione Autenticazione della console Firebase . |
FIRAuthErrorCodeWeakPassword | Indica un tentativo di impostare una password considerata troppo debole. Il campo NSLocalizedFailureReasonErrorKey NSError.userInfo 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 connesso, che contiene le informazioni sulla sessione, non è valido. È necessario richiedere all'utente di accedere di nuovo 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 Firebase. |
reauthenticateWithCredential: completamento:
Codice | Senso |
---|
FIRAuthErrorCodeInvalidCredential | Indica che la credenziale fornita non è valida. Ciò potrebbe accadere se è scaduto o è malformato. |
FIRAuthErrorCodeInvalidEmail | Indica che l'indirizzo di posta elettronica non è valido se la credenziale è del tipo EmailPasswordAuthCredential . |
FIRAuthErrorCodeWrongPassword | Indica che l'utente ha tentato la 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 dalle credenziali non sono abilitati. Abilitalo nella sezione Autenticazione 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à in uso da un account esistente, che non può essere riautenticato con questo metodo di accesso. Chiama fetchProvidersForEmail per l'email di questo utente, quindi fetchProvidersForEmail di accedere con uno dei provider di accesso restituiti. Questo errore verrà visualizzato 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. |
updateEmail: completamento:
Codice | Senso |
---|
FIRAuthErrorCodeEmailAlreadyInUse | Indica che l'email è già utilizzata da un altro account. |
FIRAuthErrorCodeInvalidEmail | Indica che l'indirizzo e-mail non è corretto. |
FIRAuthErrorCodeRequiresRecentLogin | L'aggiornamento della posta elettronica 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 eseguito l'accesso abbastanza di recente. Per risolvere, FIRUser l'utente invocando reauthenticateWithCredential:completion: su FIRUser . |
updatePassword: 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 eseguito l'accesso abbastanza di recente. Per risolvere, FIRUser l'utente invocando reauthenticateWithCredential:completion: su FIRUser . |
FIRAuthErrorCodeWeakPassword | Indica un tentativo di impostare una password considerata troppo debole. Il campo NSLocalizedFailureReasonErrorKey NSError.userInfo 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 provider 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 dalle credenziali non sono abilitati. Abilitalo nella sezione Autenticazione della console Firebase . |
Questo metodo può anche restituire codici di errore associati a updateEmail:completion:
e updatePassword:completion:
su FIRUser
.
unlinkFromProvider: completamento:
Codice | Senso |
---|
FIRAuthErrorCodeNoSuchProvider | Indica un tentativo di scollegare un provider 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 eseguito l'accesso abbastanza di recente. Per risolvere, FIRUser l'utente invocando 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 eseguito l'accesso abbastanza di recente. Per risolvere, FIRUser l'utente invocando reauthenticateWithCredential:completion: su FIRUser . |