Si le rappel d'achèvement des méthodes Authentication reçoit un argument NSError
qui
n'est pas nul, une erreur s'est produite. Pour envoyer les messages vers un système de gestion des exceptions approprié
dans votre code de production, comparez le code d'erreur aux erreurs courantes
les erreurs propres à la méthode répertoriées ci-dessous.
Certaines erreurs peuvent être résolues par des actions spécifiques de l'utilisateur, par exemple
FIRAuthErrorCodeUserTokenExpired
peut être résolu en connectant l'utilisateur
et FIRAuthErrorCodeWrongPassword
en demandant à l'utilisateur de fournir
le bon mot de passe.
Sauf dans le cas de FIRAuthErrorCodeNetworkError
ou
FIRAuthErrorCodeTooManyRequests
: nouvelle tentative d'une opération ayant échoué avec le même
n'aboutira jamais. Ne faites aucune hypothèse sur
si l'opération
a pris effet côté serveur.
Lorsque vous examinez ou consignez des erreurs, consultez le dictionnaire userInfo
.
FIRAuthErrorNameKey
contient une chaîne de nom d'erreur multiplate-forme pouvant être
utilisée pour identifier l'erreur.
NSLocalizedDescriptionKey
contient une description de l'erreur. Ce
la description est destinée au développeur, pas à l'utilisateur.
NSUnderlyingErrorKey
contient l'erreur sous-jacente qui a provoqué l'erreur dans
si une erreur sous-jacente est présente.
En plus des principaux champs listés ci-dessus, le dictionnaire userInfo
peut contenir d'autres champs qui peuvent vous être utiles pour diagnostiquer les erreurs.
Codes d'erreur communs à toutes les méthodes d'API
Code |
Signification |
FIRAuthErrorCodeNetworkError |
Indique qu'une erreur réseau s'est produite pendant l'opération. |
FIRAuthErrorCodeUserNotFound |
Indique que le compte utilisateur est introuvable. Cela peut se produire si le compte utilisateur a été supprimé. |
FIRAuthErrorCodeUserTokenExpired |
Indique que le jeton de l'utilisateur actuel a expiré. Par exemple, l'utilisateur a peut-être modifié le mot de passe du compte sur un autre appareil. Vous devez inviter l'utilisateur à se reconnecter sur cet appareil. |
FIRAuthErrorCodeTooManyRequests |
Indique que la requête a été bloquée après l'envoi d'un nombre anormal de requêtes aux serveurs Firebase Authentication depuis l'appareil appelant. Réessayez plus tard. |
FIRAuthErrorCodeInvalidAPIKey |
Indique que l'application a été configurée avec une clé API non valide. |
FIRAuthErrorCodeAppNotAuthorized |
Indique que l'application n'est pas autorisée à utiliser Firebase Authentication avec la clé API fournie. Accédez à la console Google APIs et vérifiez, dans l'onglet "Credentials" (Identifiants), que l'ID de bundle de votre application figure sur la liste blanche de la clé API que vous utilisez. |
FIRAuthErrorCodeKeychainError |
Indique qu'une erreur s'est produite lors de l'accès au trousseau. Les champs NSLocalizedFailureReasonErrorKey et NSUnderlyingErrorKey du dictionnaire NSError.userInfo contiennent plus d'informations sur l'erreur rencontrée. |
FIRAuthErrorCodeInternalError |
Indique qu'une erreur interne s'est produite. Veuillez signaler l'erreur concernant l'intégralité de l'objet NSError . |
Codes d'erreur spécifiques aux méthodes
FIRAuth
retrieveProvidersForEmail:completion:
Code |
Signification |
FIRAuthErrorCodeInvalidEmail |
Indique que le format de l'adresse e-mail est incorrect. |
signInWithEmail:password:completion:
Code |
Signification |
FIRAuthErrorCodeOperationNotAllowed |
Indique que les comptes de messagerie et de mot de passe ne sont pas activés. Activez-les dans la section "Authentification" de la console Firebase. |
FIRAuthErrorCodeInvalidEmail |
Indique que le format de l'adresse e-mail est incorrect. |
FIRAuthErrorCodeUserDisabled |
Indique que le compte de l'utilisateur est désactivé. |
FIRAuthErrorCodeWrongPassword |
Indique que l'utilisateur a tenté de se connecter avec un mot de passe incorrect. |
signInWithCredential:completion:
Code |
Signification |
FIRAuthErrorCodeInvalidCredential |
Indique que l'identifiant fourni n'est pas valide. Cela peut se produire s'il a expiré ou si son format est incorrect. |
FIRAuthErrorCodeInvalidEmail |
Indique que l'adresse e-mail est mal formée, si les identifiants sont de type EmailPasswordAuthCredential . |
FIRAuthErrorCodeOperationNotAllowed |
Indique que les comptes associés au fournisseur d'identité représenté par les identifiants ne sont pas activés. Activez-les dans la section "Authentification" de la console Firebase. |
FIRAuthErrorCodeEmailAlreadyInUse |
Indique que l'adresse e-mail déclarée par les identifiants (par exemple, l'adresse e-mail dans un jeton d'accès Facebook) est déjà utilisée par un compte existant, qui ne peut pas être authentifié avec cette méthode de connexion. Appelez fetchProvidersForEmail pour obtenir l'adresse e-mail de cet utilisateur, puis invitez-le à se connecter avec l'un des fournisseurs de connexion renvoyés. Cette erreur ne se produit que si le paramètre "Un compte par adresse e-mail" est activé dans la console Firebase, sous les paramètres Authentication. |
FIRAuthErrorCodeUserDisabled |
Indique que le compte de l'utilisateur est désactivé. |
FIRAuthErrorCodeWrongPassword |
Indique que l'utilisateur a tenté de se connecter avec un mot de passe incorrect, si le type d'identifiant est EmailPasswordAuthCredential . |
signInAuthenticatelyWithCompleted:
Code |
Signification |
FIRAuthErrorCodeOperationNotAllowed |
Indique que les comptes anonymes ne sont pas activés. Activez-les dans la section "Authentification" de la console Firebase. |
signInWithCustomToken:completion:
Code |
Signification |
FIRAuthErrorCodeInvalidCustomToken |
Indique une erreur de validation avec le jeton personnalisé. |
FIRAuthErrorCodeCustomTokenMismatch |
Indique que le compte de service et la clé API appartiennent à des projets différents. |
createUserWithEmail:password:completion:
Code |
Signification |
FIRAuthErrorCodeInvalidEmail |
Indique que l'adresse e-mail est mal formée. |
FIRAuthErrorCodeEmailAlreadyInUse |
Indique que l'adresse e-mail utilisée pour tenter de s'inscrire existe déjà. Appelez fetchProvidersForEmail pour vérifier les mécanismes de connexion utilisés par cet utilisateur, puis invitez-le à se connecter avec l'un d'entre eux. |
FIRAuthErrorCodeOperationNotAllowed |
Indique que les comptes de messagerie et de mot de passe ne sont pas activés. Activez-les dans la section Authentication de la console Firebase. |
FIRAuthErrorCodeWeakPassword |
Indique une tentative de définition d'un mot de passe considéré comme trop faible. Le champ NSLocalizedFailureReasonErrorKey de l'objet de dictionnaire NSError.userInfo contient une explication plus détaillée pouvant être présentée à l'utilisateur. |
se déconnecter:
Code |
Signification |
FIRAuthErrorCodeKeychainError |
Une erreur s'est produite lors de l'accès au trousseau. Les champs NSLocalizedFailureReasonErrorKey et NSUnderlyingErrorKey du dictionnaire NSError.userInfo contiennent plus d'informations sur l'erreur rencontrée. |
FIRUser
Erreurs courantes pour les opérations FIRUser
Code |
Signification |
FIRAuthErrorCodeInvalidUserToken |
Indique que le jeton d'actualisation de l'utilisateur connecté, qui contient les informations de session, n'est pas valide. Vous devez demander à l'utilisateur de se reconnecter sur cet appareil. |
FIRAuthErrorCodeUserDisabled |
Indique que le compte de l'utilisateur est désactivé et qu'il ne peut plus être utilisé tant qu'il ne peut pas être réactivé dans le panneau "Utilisateurs" de la console Firebase. |
reauthenticatedWithCredential:completion:
Code |
Signification |
FIRAuthErrorCodeInvalidCredential |
Indique que l'identifiant fourni n'est pas valide. Cela peut se produire s'il a expiré ou si son format est incorrect. |
FIRAuthErrorCodeInvalidEmail |
Indique que le format de l'adresse e-mail est incorrect si l'identifiant est de type EmailPasswordAuthCredential . |
FIRAuthErrorCodeWrongPassword |
Indique que l'utilisateur a tenté de se réauthentifier avec un mot de passe incorrect, si les identifiants sont de type EmailPasswordAuthCredential . |
FIRAuthErrorCodeUserMismatch |
Indique qu'une tentative de réauthentification a été effectuée avec un utilisateur qui n'est pas l'utilisateur actuel. |
FIRAuthErrorCodeOperationNotAllowed |
Indique que les comptes associés au fournisseur d'identité représenté par l'identifiant ne sont pas activés. Activez-les dans la section "Authentification" de la console Firebase. |
FIRAuthErrorCodeEmailAlreadyInUse |
Indique que l'adresse e-mail déclarée par les identifiants (par exemple, l'adresse e-mail d'un jeton d'accès Facebook) est déjà utilisée par un compte existant, qui ne peut pas être de nouveau authentifiée avec cette méthode de connexion. Appelez fetchProvidersForEmail pour obtenir l'adresse e-mail de cet utilisateur, puis invitez-le à se connecter avec l'un des fournisseurs de connexion renvoyés. Cette erreur ne se produit que si le paramètre "Un compte par adresse e-mail" est activé dans la console Firebase, sous les paramètres Authentication. |
FIRAuthErrorCodeUserDisabled |
Indique que le compte de l'utilisateur est désactivé. |
updateEmail:completion:
Code |
Signification |
FIRAuthErrorCodeEmailAlreadyInUse |
Indique que l'adresse e-mail est déjà utilisée par un autre compte. |
FIRAuthErrorCodeInvalidEmail |
Indique que le format de l'adresse e-mail est incorrect. |
FIRAuthErrorCodeRequiresRecentLogin |
La mise à jour de l'adresse e-mail d'un utilisateur est une opération de sécurité qui nécessite une connexion récente de la part de l'utilisateur. Cette erreur indique que l'utilisateur ne s'est pas connecté suffisamment récemment. Pour résoudre le problème, réauthentifiez l'utilisateur en appelant reauthenticateWithCredential:completion: sur FIRUser . |
updatePassword:completion:
Code |
Signification |
FIRAuthErrorCodeOperationNotAllowed |
Indique que l'administrateur a désactivé la connexion avec le fournisseur d'identité spécifié. |
FIRAuthErrorCodeRequiresRecentLogin |
La mise à jour du mot de passe d'un utilisateur est une opération sensible à la sécurité qui nécessite une connexion récente de l'utilisateur. Cette erreur indique que l'utilisateur ne s'est pas connecté suffisamment récemment. Pour résoudre le problème, authentifiez à nouveau l'utilisateur en appelant reauthenticateWithCredential:completion: sur FIRUser . |
FIRAuthErrorCodeWeakPassword |
Indique une tentative de définition d'un mot de passe considéré comme trop peu sécurisé. Le champ NSLocalizedFailureReasonErrorKey de l'objet de dictionnaire NSError.userInfo contient une explication plus détaillée pouvant être présentée à l'utilisateur. |
linkWithCredential:completion:
Code |
Signification |
FIRAuthErrorCodeProviderAlreadyLinked |
Indique une tentative d'association d'un fournisseur d'un type déjà associé à ce compte. |
FIRAuthErrorCodeCredentialAlreadyInUse |
Indique une tentative d'association avec des identifiants déjà associés à un autre compte Firebase. |
FIRAuthErrorCodeOperationNotAllowed |
Indique que les comptes associés au fournisseur d'identité représenté par les identifiants ne sont pas activés. Activez-les dans la section "Authentification" de la console Firebase. |
Cette méthode peut également renvoyer des codes d'erreur associés à updateEmail:completion:
et updatePassword:completion:
sur FIRUser
.
dissocierFromProvider:completion:
Code |
Signification |
FIRAuthErrorCodeNoSuchProvider |
Indique une tentative de dissociation d'un fournisseur qui n'est pas associé au compte. |
FIRAuthErrorCodeRequiresRecentLogin |
La mise à jour d'une adresse e-mail est une opération de sécurité qui nécessite une connexion récente de la part de l'utilisateur. Cette erreur indique que l'utilisateur ne s'est pas connecté suffisamment récemment. Pour résoudre le problème, réauthentifiez l'utilisateur en appelant reauthenticateWithCredential:completion: sur FIRUser . |
sendEmailVerificationWithCompleted:
Code |
Signification |
FIRAuthErrorCodeUserNotFound |
Indique que le compte utilisateur est introuvable. |
deleteWithCompletion :
Code |
Signification |
FIRAuthErrorCodeRequiresRecentLogin |
La suppression d'un compte utilisateur est une opération sensible à la sécurité qui nécessite une connexion récente de l'utilisateur. Cette erreur indique que l'utilisateur ne s'est pas connecté suffisamment récemment. Pour résoudre le problème, authentifiez à nouveau l'utilisateur en appelant reauthenticateWithCredential:completion: sur FIRUser . |