Gérer les erreurs d'authentification des plates-formes Apple Firebase
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Si le rappel d'achèvement sur les méthodes d'authentification reçoit un argument NSError qui n'est pas nul, une erreur s'est produite. Pour envoyer vers une logique de gestion des erreurs appropriée dans votre code de production, vérifiez le code d'erreur par rapport aux erreurs courantes et aux erreurs spécifiques à la méthode répertoriées ci-dessous.
Certaines erreurs peuvent être résolues par des actions particulières de l'utilisateur, par exemple, FIRAuthErrorCodeUserTokenExpired peut être résolu en reconnectant l'utilisateur et FIRAuthErrorCodeWrongPassword en demandant à l'utilisateur de fournir le bon mot de passe.
Sauf dans le cas de FIRAuthErrorCodeNetworkError ou FIRAuthErrorCodeTooManyRequests , toute nouvelle tentative d'une opération ayant échoué avec les mêmes arguments ne réussira jamais. Ne faites aucune hypothèse quant à savoir si l'opération a pris effet ou non côté serveur.
Lors de l'enquête ou de la journalisation 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.
En plus des champs principaux répertoriés ci-dessus, le dictionnaire userInfo peut contenir d'autres champs qui pourraient vous être utiles lors du diagnostic des erreurs.
Codes d'erreur communs à toutes les méthodes API
Code
Signification
FIRAuthErrorCodeNetworkError
Indique qu'une erreur réseau s'est produite pendant 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 du compte sur un autre appareil. Vous devez inviter l'utilisateur à se reconnecter sur cet appareil.
FIRAuthErrorCodeTooManyRequests
Indique que la demande a été bloquée après qu'un nombre anormal de demandes ont été effectuées depuis l'appareil appelant vers les serveurs d'authentification Firebase. 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 l'authentification Firebase avec la clé API fournie. accédez à la console API de Google et vérifiez sous l'onglet informations d'identification que la clé API que vous utilisez a l'ID de bundle de votre application sur liste blanche.
FIRAuthErrorCodeKeychainError
Indique qu'une erreur s'est produite lors de l'accès au trousseau. Les champs NSLocalizedFailureReasonErrorKey et NSUnderlyingErrorKey du dictionnaire NSError.userInfo contiendront plus d'informations sur l'erreur rencontrée.
FIRAuthErrorCodeInternalError
Indique qu'une erreur interne s'est produite. Veuillez signaler l'erreur avec l'intégralité de l'objet NSError .
Codes d'erreur spécifiques à la méthode
FIRAuth
fetchProvidersForEmail:achèvement:
Code
Signification
FIRAuthErrorCodeInvalidEmail
Indique que l'adresse e-mail est mal formée.
connexion avec e-mail : mot de passe : achèvement :
Code
Signification
FIRAuthErrorCodeOperationNotAllowed
Indique que les comptes de messagerie et de mot de passe ne sont pas activés. Activez-les dans la section Auth de la console Firebase .
FIRAuthErrorCodeInvalidEmail
Indique que l'adresse e-mail est mal formé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 erroné.
connexionAvecCredential : achèvement :
Code
Signification
FIRAuthErrorCodeInvalidCredential
Indique que les informations d'identification fournies ne sont pas valides. Cela peut se produire s'il a expiré ou s'il est mal formé.
FIRAuthErrorCodeInvalidEmail
Indique que l'adresse e-mail est mal formée, si les informations d'identification sont du type EmailPasswordAuthCredential .
FIRAuthErrorCodeOperationNotAllowed
Indique que les comptes avec le fournisseur d'identité représenté par les informations d'identification ne sont pas activés. Activez-les dans la section Auth de la console Firebase .
FIRAuthErrorCodeEmailAlreadyInUse
Indique que l'e-mail affirmé par les informations d'identification (par exemple l'e-mail dans un jeton d'accès Facebook) est déjà utilisé 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 sera générée que si le paramètre « Un compte par adresse e-mail » est activé dans la console Firebase , sous Paramètres d'authentification.
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 les informations d'identification sont du type EmailPasswordAuthCredential .
Connectez-vous de manière anonyme avec l'achèvement :
Code
Signification
FIRAuthErrorCodeOperationNotAllowed
Indique que les comptes anonymes ne sont pas activés. Activez-les dans la section Auth de la console Firebase .
connexionAvecCustomToken :achèvement :
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: mot de passe: achèvement :
Code
Signification
FIRAuthErrorCodeInvalidEmail
Indique que l'adresse e-mail est mal formée.
FIRAuthErrorCodeEmailAlreadyInUse
Indique que l'e-mail utilisé pour tenter de s'inscrire existe déjà. Appelez fetchProvidersForEmail pour vérifier quels mécanismes de connexion cet utilisateur a utilisé et 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 Authentification de la console Firebase .
FIRAuthErrorCodeWeakPassword
Indique une tentative de définition d'un mot de passe considéré comme trop faible. Le champ NSLocalizedFailureReasonErrorKey dans l'objet dictionnaire NSError.userInfo contiendra une explication plus détaillée qui pourra être présentée à l'utilisateur.
se déconnecter:
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 contiendront 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é jusqu'à ce qu'il soit à nouveau activé depuis le panneau Utilisateurs de la console Firebase.
réauthentifierAvecCredential:achèvement:
Code
Signification
FIRAuthErrorCodeInvalidCredential
Indique que les informations d'identification fournies ne sont pas valides. Cela peut se produire s'il a expiré ou s'il est mal formé.
FIRAuthErrorCodeInvalidEmail
Indique que l'adresse e-mail est mal formée, si les informations d'identification sont du type EmailPasswordAuthCredential .
FIRAuthErrorCodeWrongPassword
Indique que l'utilisateur a tenté de se réauthentifier avec un mot de passe incorrect, si les informations d'identification sont du type EmailPasswordAuthCredential .
FIRAuthErrorCodeUserMismatch
Indique qu'une tentative de réauthentification a été effectuée auprès d'un utilisateur qui n'est pas l'utilisateur actuel.
FIRAuthErrorCodeOperationNotAllowed
Indique que les comptes avec le fournisseur d'identité représenté par les informations d'identification ne sont pas activés. Activez-les dans la section Auth de la console Firebase .
FIRAuthErrorCodeEmailAlreadyInUse
Indique que l'e-mail affirmé par les informations d'identification (par exemple l'e-mail dans un jeton d'accès Facebook) est déjà utilisé par un compte existant, qui ne peut pas être ré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 sera générée que si le paramètre « Un compte par adresse e-mail » est activé dans la console Firebase , sous Paramètres d'authentification.
FIRAuthErrorCodeUserDisabled
Indique que le compte de l'utilisateur est désactivé.
mise à jourEmail : achèvement :
Code
Signification
FIRAuthErrorCodeEmailAlreadyInUse
Indique que l'e-mail est déjà utilisé par un autre compte.
FIRAuthErrorCodeInvalidEmail
Indique que l'adresse e-mail est mal formée.
FIRAuthErrorCodeRequiresRecentLogin
La mise à jour de l'e-mail d'un utilisateur est une opération sensible en matière 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 : achèvement :
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 matière 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 .
FIRAuthErrorCodeWeakPassword
Indique une tentative de définition d'un mot de passe considéré comme trop faible. Le champ NSLocalizedFailureReasonErrorKey dans l'objet dictionnaire NSError.userInfo contiendra une explication plus détaillée qui pourra être présentée à l'utilisateur.
lienAvecCredential:achèvement:
Code
Signification
FIRAuthErrorCodeProviderAlreadyLinked
Indique une tentative de liaison avec un fournisseur d'un type déjà lié à 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 les informations d'identification ne sont pas activés. Activez-les dans la section Auth de la console Firebase .
Indique une tentative de dissociation d'un fournisseur qui n'est pas lié au compte.
FIRAuthErrorCodeRequiresRecentLogin
La mise à jour du courrier électronique est une opération sensible en matière 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 .
sendEmailVerificationWithCompletion :
Code
Signification
FIRAuthErrorCodeUserNotFound
Indique que le compte utilisateur n'a pas été trouvé.
supprimerAvecCompletion :
Code
Signification
FIRAuthErrorCodeRequiresRecentLogin
La suppression d'un compte utilisateur est une opération sensible en matière de 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, 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 2024/03/20 (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 2024/03/20 (UTC)."],[],[]]