Gérer les erreurs d'authentification des plates-formes Firebase Apple
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Si le rappel de fin sur les méthodes Authentication reçoit un argument NSError qui
n'est pas nul, une erreur s'est produite. Pour envoyer la logique de gestion des erreurs appropriée dans votre code de production, comparez le code d'erreur aux erreurs courantes et aux erreurs spécifiques à la méthode listées ci-dessous.
Certaines erreurs peuvent être résolues par des actions spécifiques de l'utilisateur. Par exemple, FIRAuthErrorCodeUserTokenExpired peut être résolue en reconnectant l'utilisateur, et FIRAuthErrorCodeWrongPassword en lui demandant de fournir le bon mot de passe.
Sauf dans le cas de FIRAuthErrorCodeNetworkError ou FIRAuthErrorCodeTooManyRequests, une nouvelle tentative d'opération ayant échoué avec les mêmes arguments ne réussira jamais. Ne faites aucune hypothèse sur le fait que l'opération a pris effet ou non côté serveur.
Lorsque vous examinez ou enregistrez des erreurs, consultez le dictionnaire userInfo.
FIRAuthErrorNameKey contient une chaîne de nom d'erreur multiplateforme qui peut être
utilisée pour identifier l'erreur.
NSLocalizedDescriptionKey contient une description de l'erreur. Cette description est destinée au développeur, et non à l'utilisateur.
NSUnderlyingErrorKey contient l'erreur sous-jacente qui a provoqué l'erreur en question, si une erreur sous-jacente est présente.
Outre les champs principaux 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 API
Code
Signification
FIRAuthErrorCodeNetworkError
Indique qu'une erreur réseau s'est produite lors de l'opération.
FIRAuthErrorCodeUserNotFound
Indique que le compte utilisateur n'a pas été trouvé. 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 peut avoir modifié le mot de passe de son 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 qu'un nombre anormal de requêtes ont été envoyées par l'appareil appelant aux serveurs Firebase Authentication. Réessayez après un certain temps.
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 sous l'onglet "Identifiants" que l'ID du 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 avec l'objet NSError complet.
Codes d'erreur spécifiques à la méthode
FIRAuth
fetchProvidersForEmail:completion:
Code
Signification
FIRAuthErrorCodeInvalidEmail
Indique que l'adresse e-mail n'est pas correctement formatée.
signInWithEmail:password:completion:
Code
Signification
FIRAuthErrorCodeOperationNotAllowed
Indique que les comptes avec adresse e-mail et mot de passe ne sont pas activés. Activez-les dans la console Firebase (accédez à l'onglet Sécurité > Authentification > Méthode de connexion).
FIRAuthErrorCodeInvalidEmail
Indique que l'adresse e-mail n'est pas correctement formatée.
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 s'il n'est pas correctement formaté.
FIRAuthErrorCodeInvalidEmail
Indique que l'adresse e-mail n'est pas correctement formatée, si l'identifiant est de type EmailPasswordAuthCredential.
FIRAuthErrorCodeOperationNotAllowed
Indique que les comptes avec le fournisseur d'identité représenté par l'identifiant ne sont pas activés. Activez-les dans la console Firebase (accédez à l'onglet Sécurité > Authentification > Méthode de connexion).
FIRAuthErrorCodeEmailAlreadyInUse
Indique que l'adresse e-mail revendiquée par l'identifiant (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 l'adresse e-mail de cet utilisateur, puis invitez-le à se connecter avec l'un des fournisseurs de connexion renvoyés. Cette erreur ne sera générée que si l'option "Un compte par adresse e-mail" est activée dans la Firebase console (accédez à l'onglet Sécurité > Authentification > Paramètres).
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 l'identifiant est de type EmailPasswordAuthCredential.
signInAnonymouslyWithCompletion:
Code
Signification
FIRAuthErrorCodeOperationNotAllowed
Indique que les comptes anonymes ne sont pas activés. Activez-les dans la console Firebase (accédez à l'onglet Sécurité > Authentification > Méthode de connexion).
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 n'est pas correctement formaté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'eux.
FIRAuthErrorCodeOperationNotAllowed
Indique que les comptes avec adresse e-mail et mot de passe ne sont pas activés. Activez-les dans la console Firebase (accédez à l'onglet Sécurité > Authentification > Méthode de connexion).
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 qui peut être affichée à l'utilisateur.
signOut:
Code
Signification
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.
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 inviter l'utilisateur à se reconnecter sur cet appareil.
FIRAuthErrorCodeUserDisabled
Indique que le compte de l'utilisateur est désactivé et ne peut plus être utilisé tant qu'il n'est pas réactivé dans la Firebase console (accédez à l'onglet Sécurité > Authentification > Utilisateurs).
reauthenticateWithCredential:completion:
Code
Signification
FIRAuthErrorCodeInvalidCredential
Indique que l'identifiant fourni n'est pas valide. Cela peut se produire s'il a expiré ou s'il n'est pas correctement formaté.
FIRAuthErrorCodeInvalidEmail
Indique que l'adresse e-mail n'est pas correctement formatée, 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 l'identifiant est 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 avec le fournisseur d'identité représenté par l'identifiant ne sont pas activés. Activez-les dans la console Firebase (accédez à Sécurité > Authentification).
FIRAuthErrorCodeEmailAlreadyInUse
Indique que l'adresse e-mail revendiquée par l'identifiant (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 réauthentifié avec cette méthode de connexion. Appelez fetchProvidersForEmail pour l'adresse e-mail de cet utilisateur, puis invitez-le à se connecter avec l'un des fournisseurs de connexion renvoyés. Cette erreur ne sera générée que si l'option "Un compte par adresse e-mail" est activée dans la Firebase console (accédez à l'onglet Sécurité > Authentification > Paramètres).
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 l'adresse e-mail n'est pas correctement formatée.
FIRAuthErrorCodeRequiresRecentLogin
La mise à jour de l'adresse e-mail d'un utilisateur est une opération sensible en termes de sécurité qui nécessite une connexion récente de l'utilisateur. Cette erreur indique que l'utilisateur ne s'est pas connecté assez récemment. Pour résoudre ce 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 en termes de sécurité qui nécessite une connexion récente de l'utilisateur. Cette erreur indique que l'utilisateur ne s'est pas connecté assez récemment. Pour résoudre ce problème, réauthentifiez l'utilisateur en appelant reauthenticateWithCredential:completion: sur FIRUser.
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 qui peut être affiché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 un identifiant déjà associé à un autre compte Firebase.
FIRAuthErrorCodeOperationNotAllowed
Indique que les comptes avec le fournisseur d'identité représenté par l'identifiant ne sont pas activés. Activez-les dans la console Firebase (accédez à l'onglet Sécurité > Authentification > Méthode de connexion).
Indique une tentative de dissociation d'un fournisseur qui n'est pas associé au compte.
FIRAuthErrorCodeRequiresRecentLogin
La mise à jour de l'adresse e-mail est une opération sensible en termes de sécurité qui nécessite une connexion récente de l'utilisateur. Cette erreur indique que l'utilisateur ne s'est pas connecté assez récemment. Pour résoudre ce problème, réauthentifiez l'utilisateur en appelant reauthenticateWithCredential:completion: sur FIRUser.
sendEmailVerificationWithCompletion:
Code
Signification
FIRAuthErrorCodeUserNotFound
Indique que le compte utilisateur n'a pas été trouvé.
deleteWithCompletion:
Code
Signification
FIRAuthErrorCodeRequiresRecentLogin
La suppression d'un compte utilisateur est une opération sensible en termes de sécurité qui nécessite une connexion récente de l'utilisateur. Cette erreur indique que l'utilisateur ne s'est pas connecté assez récemment. Pour résoudre ce problème, réauthentifiez l'utilisateur en appelant reauthenticateWithCredential:completion: sur FIRUser.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2026/06/28 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2026/06/28 (UTC)."],[],[]]