Si le rappel de complétion sur les méthodes d'authentification reçoit un argument NSError
qui n'est pas nil, une erreur s'est produite. Pour envoyer à la 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 utilisateur particulières, 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
, réessayer une opération ayant échoué avec les mêmes arguments ne réussira jamais. Ne présumez pas si l'opération a pris effet ou non côté serveur.
Lors de la recherche 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, pas à l'utilisateur. NSUnderlyingErrorKey
contient l'erreur sous-jacente qui a causé l'erreur en question, si une erreur sous-jacente est présente.
En plus des champs principaux répertoriés ci-dessus, il peut y avoir d'autres champs dans le dictionnaire userInfo
que vous pouvez trouver utiles lors du diagnostic d'erreurs.
Codes d'erreur communs à toutes les méthodes API
Code | Sens |
---|
FIRAuthErrorCodeNetworkError | Indique qu'une erreur réseau s'est produite pendant l'opération. |
FIRAuthErrorCodeUserNotFound | Indique que le compte d'utilisateur n'a pas été trouvé. Cela peut arriver si le compte utilisateur a été supprimé. |
FIRAuthErrorCodeUserTokenExpired | Indique que le jeton de l'utilisateur actuel a expiré, par exemple, l'utilisateur peut avoir changé 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 qu'un nombre anormal de requêtes ont été effectuées depuis l'appareil appelant vers les 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 l'authentification Firebase avec la clé API fournie. accédez à la console d'API Google et vérifiez sous l'onglet des informations d'identification que la clé d'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 | Sens |
---|
FIRAuthErrorCodeInvalidEmail | Indique que l'adresse e-mail est mal formée. |
se connecterAvecEmail:motdepasse:achèvement:
Code | Sens |
---|
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é. |
signInWithCredential:achèvement:
Code | Sens |
---|
FIRAuthErrorCodeInvalidCredential | Indique que les informations d'identification fournies ne sont pas valides. Cela peut arriver s'il a expiré ou s'il est malformé. |
FIRAuthErrorCodeInvalidEmail | Indique que l'adresse e-mail est incorrecte, 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 l'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 erroné, si les informations d'identification sont du type EmailPasswordAuthCredential . |
signInAnonymouslyWithCompletion :
Code | Sens |
---|
FIRAuthErrorCodeOperationNotAllowed | Indique que les comptes anonymes ne sont pas activés. Activez-les dans la section Auth de la console Firebase . |
signInWithCustomToken : achèvement :
Code | Sens |
---|
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 | Sens |
---|
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 les mécanismes de connexion utilisés par cet utilisateur et invitez l'utilisateur à 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 peut être montrée à l'utilisateur. |
se déconnecter:
Code | Sens |
---|
FIRAuthErrorCodeKeychainError | A indiqué 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 | Sens |
---|
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é depuis le panneau Utilisateurs de la console Firebase. |
reauthenticateWithCredential : achèvement :
Code | Sens |
---|
FIRAuthErrorCodeInvalidCredential | Indique que les informations d'identification fournies ne sont pas valides. Cela peut arriver s'il a expiré ou s'il est malformé. |
FIRAuthErrorCodeInvalidEmail | Indique que l'adresse e-mail est incorrecte, 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 a été faite pour se réauthentifier 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 l'identifiant (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 l'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é. |
updateEmail : achèvement :
Code | Sens |
---|
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 à la 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 le problème, réauthentifiez l'utilisateur en reauthenticateWithCredential:completion: on FIRUser . |
updatePassword:achèvement :
Code | Sens |
---|
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é assez récemment. Pour résoudre le problème, réauthentifiez l'utilisateur en reauthenticateWithCredential:completion: on 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 peut être montrée à l'utilisateur. |
lienAvecCredential : achèvement :
Code | Sens |
---|
FIRAuthErrorCodeProviderAlreadyLinked | Indique une tentative de lier un fournisseur d'un type déjà lié à ce compte. |
FIRAuthErrorCodeCredentialAlreadyInUse | Indique une tentative d'association avec un identifiant qui a déjà été 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 . |
Cette méthode peut également renvoyer des codes d'erreur associés à updateEmail:completion:
et updatePassword:completion:
on FIRUser
.
unlinkFromProvider : achèvement :
Code | Sens |
---|
FIRAuthErrorCodeNoSuchProvider | Indique une tentative de dissociation d'un fournisseur qui n'est pas lié au compte. |
FIRAuthErrorCodeRequiresRecentLogin | La mise à jour des e-mails 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é assez récemment. Pour résoudre le problème, réauthentifiez l'utilisateur en reauthenticateWithCredential:completion: on FIRUser . |
sendEmailVerificationWithCompletion :
Code | Sens |
---|
FIRAuthErrorCodeUserNotFound | Indique que le compte d'utilisateur n'a pas été trouvé. |
deleteWithCompletion :
Code | Sens |
---|
FIRAuthErrorCodeRequiresRecentLogin | La suppression d'un compte d'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é assez récemment. Pour résoudre le problème, réauthentifiez l'utilisateur en reauthenticateWithCredential:completion: on FIRUser . |