Se il callback di completamento sui metodi Authentication riceve un argomento NSError
che
non è nullo, si è verificato un errore. Inviare un sistema di gestione degli errori appropriato
logica nel codice di produzione, confronta il codice di errore con errori comuni
specifici del metodo di pagamento elencati di seguito.
Alcuni errori possono essere risolti da azioni specifiche dell'utente, ad esempio FIRAuthErrorCodeUserTokenExpired
può essere risolto facendo accedere nuovamente l'utente e FIRAuthErrorCodeWrongPassword
chiedendo all'utente di fornire la password corretta.
Tranne nel caso di FIRAuthErrorCodeNetworkError
o
FIRAuthErrorCodeTooManyRequests
, nuovo tentativo di un'operazione non riuscita con lo stesso
argomenti non avranno mai esito positivo. Non dare ipotesi sul fatto che l'operazione
sul lato server.
Quando esamini o registri gli errori, rivedi il dizionario userInfo
.
FIRAuthErrorNameKey
contiene una stringa nome di errore multipiattaforma che può essere
utilizzato per identificare l'errore.
NSLocalizedDescriptionKey
contiene una descrizione dell'errore. Questo
descrizione è destinata allo sviluppatore, non all'utente.
NSUnderlyingErrorKey
contiene l'errore sottostante che ha causato l'errore in discussione, se è presente un errore sottostante.
Oltre ai campi principali elencati sopra, possono esistere altri campi nella
Dizionario userInfo
, che potrebbe esserti utile durante la diagnosi degli errori.
Codici di errore comuni a tutti i metodi dell'API
Codice |
Significato |
FIRAuthErrorCodeNetworkError |
Indica che si è verificato un errore di rete durante l'operazione. |
FIRAuthErrorCodeUserNotFound |
Indica che l'account utente non è stato trovato. Questo può accadere se l'account utente è stato eliminato. |
FIRAuthErrorCodeUserTokenExpired |
Indica che il token dell'utente corrente è scaduto, ad esempio che l'utente potrebbe aver modificato la password dell'account su un altro dispositivo. Devi chiedere all'utente di accedere di nuovo su questo dispositivo. |
FIRAuthErrorCodeTooManyRequests |
Indica che la richiesta è stata bloccata dopo che è stato effettuato un numero anomalo di richieste dal dispositivo chiamante ai server Firebase Authentication. Riprova più tardi. |
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 API di Google e verifica nella scheda Credenziali che l'ID pacchetto della tua applicazione sia autorizzato per la chiave API che stai utilizzando. |
FIRAuthErrorCodeKeychainError |
Indica un errore durante l'accesso al portachiavi. I campi NSLocalizedFailureReasonErrorKey e NSUnderlyingErrorKey del dizionario NSError.userInfo contengono ulteriori informazioni sull'errore riscontrato. |
FIRAuthErrorCodeInternalError |
Indica un errore interno. Segnala l'errore con l'intero oggetto NSError . |
Codici di errore specifici del metodo
FIRAuth
fetchProvidersForEmail:completion: completamento
Codice |
Significato |
FIRAuthErrorCodeInvalidEmail |
Indica che l'indirizzo email non è valido. |
signInWithEmail:password:completamento:
Codice |
Significato |
FIRAuthErrorCodeOperationNotAllowed |
Indica che gli account email e password non sono abilitati. Abilitale nella sezione Autorizzazione della console Firebase. |
FIRAuthErrorCodeInvalidEmail |
Indica che l'indirizzo email non è valido. |
FIRAuthErrorCodeUserDisabled |
Indica che l'account dell'utente è disattivato. |
FIRAuthErrorCodeWrongPassword |
Indica che l'utente ha tentato di accedere con una password errata. |
signInWithCredential:completion:
Codice |
Significato |
FIRAuthErrorCodeInvalidCredential |
Indica che la credenziale fornita non è valida. Questo può accadere se il codice è scaduto o non è valido. |
FIRAuthErrorCodeInvalidEmail |
Indica che l'indirizzo email non è valido, se la credenziale è di tipo EmailPasswordAuthCredential . |
FIRAuthErrorCodeOperationNotAllowed |
Indica che gli account con il provider di identità rappresentato dalla credenziale non sono abilitati. Abilitale nella sezione Autorizzazione della console Firebase. |
FIRAuthErrorCodeEmailAlreadyInUse |
Indica che l'indirizzo email dichiarato dalla credenziale (ad es. l'indirizzo email 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 ricevere l'indirizzo email di questo utente, quindi chiedigli di accedere con uno dei provider di accesso restituiti. Questo errore viene visualizzato solo se l'opzione "Un account per indirizzo email" sia abilitata nella console Firebase, nelle impostazioni di Authentication. |
FIRAuthErrorCodeUserDisabled |
Indica che l'account dell'utente è disattivato. |
FIRAuthErrorCodeWrongPassword |
Indica che l'utente ha tentato di accedere con una password errata, se la credenziale è di tipo EmailPasswordAuthCredential . |
signInAnonymouslyWithCompletion:
Codice |
Significato |
FIRAuthErrorCodeOperationNotAllowed |
Indica che gli account anonimi non sono abilitati. Abilitale nella sezione Autorizzazione della console Firebase. |
signInWithCustomToken:completion:
Codice |
Significato |
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. |
creareUtenteConEmail:password:completamento:
Codice |
Significato |
FIRAuthErrorCodeInvalidEmail |
Indica che l'indirizzo email non è valido. |
FIRAuthErrorCodeEmailAlreadyInUse |
Indica che l'indirizzo email utilizzato per tentare di effettuare la registrazione esiste già. Chiama fetchProvidersForEmail per verificare quali meccanismi di accesso sono stati utilizzati dall'utente e invita l'utente ad accedere con uno di questi. |
FIRAuthErrorCodeOperationNotAllowed |
Indica che gli account email e password non sono abilitati. Abilitale nella sezione Authentication della console Firebase. |
FIRAuthErrorCodeWeakPassword |
Indica un tentativo di impostazione di una password considerata troppo debole. Il campo NSLocalizedFailureReasonErrorKey nell'oggetto dizionario NSError.userInfo conterrà una spiegazione più dettagliata che può essere mostrata all'utente. |
esci:
Codice |
Significato |
FIRAuthErrorCodeKeychainError |
Indica che si è verificato un errore durante l'accesso al portachiavi. I campi NSLocalizedFailureReasonErrorKey e NSUnderlyingErrorKey del dizionario NSError.userInfo contengono ulteriori informazioni sull'errore riscontrato. |
FIRUser
Errori comuni per le operazioni FIRUser
Codice |
Significato |
FIRAuthErrorCodeInvalidUserToken |
Indica che il token di aggiornamento dell'utente che ha eseguito l'accesso, che contiene le informazioni sulla sessione, non è valido. Devi chiedere all'utente di accedere di nuovo su questo dispositivo. |
FIRAuthErrorCodeUserDisabled |
Indica che l'account dell'utente è disattivato e non può più essere utilizzato finché non viene riattivato dal riquadro Utenti della console Firebase. |
reauthenticationWithCredential:completion:
Codice |
Significato |
FIRAuthErrorCodeInvalidCredential |
Indica che la credenziale fornita non è valida. Questo può accadere se il codice è scaduto o non è valido. |
FIRAuthErrorCodeInvalidEmail |
Indica che l'indirizzo email non è valido, se la credenziale è di tipo EmailPasswordAuthCredential . |
FIRAuthErrorCodeWrongPassword |
Indica che l'utente ha tentato di riautenticazione con una password errata, se la credenziale è di tipo EmailPasswordAuthCredential . |
FIRAuthErrorCodeUserMismatch |
Indica che è stato effettuato un tentativo di nuova autenticazione con un utente che non è l'utente corrente. |
FIRAuthErrorCodeOperationNotAllowed |
Indica che gli account con il provider di identità rappresentato dalla credenziale non sono abilitati. Attivali nella sezione Auth della console Firebase. |
FIRAuthErrorCodeEmailAlreadyInUse |
Indica che l'indirizzo email dichiarato dalla credenziale (ad es. l'indirizzo email in un token di accesso di Facebook) è già in uso da un account esistente che non può essere autenticato di nuovo con questo metodo di accesso. Chiama fetchProvidersForEmail per ricevere l'indirizzo email di questo utente, quindi chiedigli di accedere con uno dei provider di accesso restituiti. Questo errore viene visualizzato solo se l'opzione "Un account per indirizzo email" sia abilitata nella console Firebase, nelle impostazioni di Authentication. |
FIRAuthErrorCodeUserDisabled |
Indica che l'account dell'utente è disattivato. |
updateEmail:completion:
Codice |
Significato |
FIRAuthErrorCodeEmailAlreadyInUse |
Indica che l'indirizzo email è già in uso da un altro account. |
FIRAuthErrorCodeInvalidEmail |
Indica che l'indirizzo email non è valido. |
FIRAuthErrorCodeRequiresRecentLogin |
L'aggiornamento dell'email 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 il problema, esegui di nuovo l'autenticazione dell'utente richiamando reauthenticateWithCredential:completion: su FIRUser . |
updatePassword:completamento:
Codice |
Significato |
FIRAuthErrorCodeOperationNotAllowed |
Indica che l'amministratore ha disattivato 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 il problema, esegui di nuovo l'autenticazione dell'utente richiamando reauthenticateWithCredential:completion: su FIRUser . |
FIRAuthErrorCodeWeakPassword |
Indica un tentativo di impostazione di una password considerata troppo debole. Il campo NSLocalizedFailureReasonErrorKey nell'oggetto del dizionario NSError.userInfo conterrà una spiegazione più dettagliata che può essere mostrata all'utente. |
linkWithCredential:completamento:
Codice |
Significato |
FIRAuthErrorCodeProviderAlreadyLinked |
Indica il tentativo di collegare un fornitore di un tipo già collegato a questo account. |
FIRAuthErrorCodeCredentialAlreadyInUse |
Indica un tentativo di collegamento con una credenziale già collegata a un altro account Firebase. |
FIRAuthErrorCodeOperationNotAllowed |
Indica che gli account con il provider di identità rappresentato dalla credenziale non sono abilitati. Attivali nella sezione Auth della console Firebase. |
Questo metodo può anche restituire codici di errore associati a updateEmail:completion:
e
updatePassword:completion:
su FIRUser
.
scollegamentoFromProvider:completion:
Codice |
Significato |
FIRAuthErrorCodeNoSuchProvider |
Indica un tentativo di scollegare un provider non collegato all'account. |
FIRAuthErrorCodeRequiresRecentLogin |
L'aggiornamento dell'email è 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 il problema, esegui di nuovo l'autenticazione dell'utente richiamando reauthenticateWithCredential:completion: su FIRUser . |
inviaVerificaEmailConCompletamento:
Codice |
Significato |
FIRAuthErrorCodeUserNotFound |
Indica che l'account utente non è stato trovato. |
eliminaConCompletamento:
Codice |
Significato |
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 il problema, esegui di nuovo l'autenticazione dell'utente richiamando reauthenticateWithCredential:completion: su FIRUser . |