Si la devolución de llamada de finalización en métodos de Authentication recibe un argumento NSError que
no es nulo, significa que hubo un problema. Para realizar el envío a la lógica de manejo correspondiente en tu código de producción, usa el código de error para averiguar si es uno de los errores comunes o específicos de métodos que se mencionan a continuación.
Algunos errores pueden resolverse a través de acciones específicas de los usuarios. Por ejemplo, para resolver FIRAuthErrorCodeUserTokenExpired se debe volver a acceder y para resolver FIRAuthErrorCodeWrongPassword se debe solicitar al usuario que proporcione la contraseña correcta.
Excepto por FIRAuthErrorCodeNetworkError o FIRAuthErrorCodeTooManyRequests, reintentar una operación fallida con los mismos argumentos producirá un error. No asumas que las operaciones en cuestión han tenido o no algún efecto en el servidor.
Cuando investigues o registres errores, revisa el diccionario userInfo.
FIRAuthErrorNameKey contiene una string de nombre de error multiplataforma que se puede usar para identificar el error.
NSLocalizedDescriptionKey contiene una descripción del error. Esta descripción se diseñó con el desarrollador en mente, no el usuario.
NSUnderlyingErrorKey contiene el error subyacente que ocasionó el error, en los casos en que exista un error subyacente.
Además de los campos principales mencionados anteriormente, puede haber otros campos en el diccionario userInfo que pueden resultarte útiles al diagnosticar errores.
Códigos de error comunes para todos los métodos de API
Código
Significado
FIRAuthErrorCodeNetworkError
Indica que ocurrió un error de red durante la operación.
FIRAuthErrorCodeUserNotFound
Indica que no se encontró la cuenta de usuario. Esto podría suceder si se eliminó la cuenta de usuario.
FIRAuthErrorCodeUserTokenExpired
Indica que el token del usuario caducó. Por ejemplo, es posible que el usuario haya cambiado su contraseña en otro dispositivo. Debes indicarle al usuario que vuelva a acceder en este dispositivo.
FIRAuthErrorCodeTooManyRequests
Indica que la solicitud se bloqueó después de la recepción de un número atípico de solicitudes realizadas a los servidores de Firebase Authentication desde el dispositivo emisor. Vuelve a intentarlo más tarde.
FIRAuthErrorCodeInvalidAPIKey
Indica que la aplicación se configuró con una clave de API no válida.
FIRAuthErrorCodeAppNotAuthorized
Indica que la app no está autorizada para usar Firebase Authentication con la clave de API proporcionada. Ve a la Consola de API de Google y revisa en la pestaña Credenciales que la clave de API que estás usando incluya el ID del paquete de tu aplicación en su lista blanca.
FIRAuthErrorCodeKeychainError
Indica que ocurrió un error cuando se accedía al llavero. Los campos NSLocalizedFailureReasonErrorKey y NSUnderlyingErrorKey en el diccionario NSError.userInfo contendrán más información sobre el error.
FIRAuthErrorCodeInternalError
Indica que se produjo un error interno. Informa este error con el objeto NSError completo.
Códigos de error específicos de métodos
FIRAuth
fetchProvidersForEmail:completion:
Código
Significado
FIRAuthErrorCodeInvalidEmail
Indica que la dirección de correo electrónico no tiene el formato correcto.
signInWithEmail:password:completion:
Código
Significado
FIRAuthErrorCodeOperationNotAllowed
Indica que las cuentas de correo electrónico y contraseña no están habilitadas. Habilítalas en la sección Auth de Firebase console.
FIRAuthErrorCodeInvalidEmail
Indica que la dirección de correo electrónico no tiene el formato correcto.
FIRAuthErrorCodeUserDisabled
Indica que la cuenta del usuario está inhabilitada.
FIRAuthErrorCodeWrongPassword
El usuario intentó acceder con una contraseña incorrecta.
signInWithCredential:completion:
Código
Significado
FIRAuthErrorCodeInvalidCredential
Indica que la credencial que se ingresó no es válida. Por ejemplo, puede haberse vencido o tener un formato incorrecto.
FIRAuthErrorCodeInvalidEmail
Indica que la dirección de correo electrónico no tiene el formato correcto, si el tipo de credencial es EmailPasswordAuthCredential.
FIRAuthErrorCodeOperationNotAllowed
Indica que no se habilitaron las cuentas con proveedor de identidad representadas por la credencial. Habilítalas en la sección Auth de Firebase console.
FIRAuthErrorCodeEmailAlreadyInUse
Indica que el correo electrónico aseverado por la credencial (p. ej., el correo electrónico de un token de acceso de Facebook) ya está siendo utilizado por otra cuenta y no se puede autenticar con este método de acceso. Llama a fetchProvidersForEmail para obtener el correo electrónico de este usuario y, luego, solicita que acceda con cualquiera de los proveedores de acceso mostrados. Este error solo aparecerá si se habilita la configuración “Una cuenta por dirección de correo electrónico” en Firebase console, en la sección Authentication.
FIRAuthErrorCodeUserDisabled
Indica que la cuenta del usuario está inhabilitada.
FIRAuthErrorCodeWrongPassword
Indica que el usuario intentó acceder con una contraseña incorrecta, si el tipo de credencial es EmailPasswordAuthCredential.
signInAnonymouslyWithCompletion:
Código
Significado
FIRAuthErrorCodeOperationNotAllowed
Indica que no están habilitadas las cuentas anónimas. Habilítalas en la sección Auth de Firebase console.
signInWithCustomToken:completion:
Código
Significado
FIRAuthErrorCodeInvalidCustomToken
Indica que ocurrió un error de validación con el token personalizado.
FIRAuthErrorCodeCustomTokenMismatch
Indica que la cuenta de servicio y la clave de API pertenecen a proyectos diferentes.
createUserWithEmail:password:completion:
Código
Significado
FIRAuthErrorCodeInvalidEmail
Indica que la dirección de correo electrónico no tiene el formato correcto.
FIRAuthErrorCodeEmailAlreadyInUse
Indica que el correo electrónico con el que se intentó acceder ya existe. Llama a fetchProvidersForEmail para verificar cuáles fueron los mecanismos con los que el usuario accedió anteriormente y solicítale que acceda con uno de ellos.
FIRAuthErrorCodeOperationNotAllowed
Indica que las cuentas de correo electrónico y contraseña no están habilitadas. Habilita estas opciones en la sección Authentication de Firebase console.
FIRAuthErrorCodeWeakPassword
Indica que se intentó configurar una contraseña poco segura. El campo NSLocalizedFailureReasonErrorKey en el objeto de diccionario NSError.userInfo contendrá una explicación más detallada que se puede mostrar al usuario.
signOut:
Código
Significado
FIRAuthErrorCodeKeychainError
Indica que ocurrió un error cuando se intentaba acceder al llavero. Los campos NSLocalizedFailureReasonErrorKey y NSUnderlyingErrorKey en el diccionario NSError.userInfo contendrán más información sobre el error.
FIRUser
Errores comunes para operaciones de FIRUser
Código
Significado
FIRAuthErrorCodeInvalidUserToken
Indica que el token de actualización del usuario activo, que contiene la información sobre la sesión, no es válido. Debes indicarle al usuario que vuelva a acceder en este dispositivo.
FIRAuthErrorCodeUserDisabled
Indica que la cuenta del usuario está inhabilitada y que no se puede utilizar sino hasta que se habilite nuevamente en el panel Usuarios de Firebase console.
reauthenticateWithCredential:completion:
Código
Significado
FIRAuthErrorCodeInvalidCredential
Indica que la credencial que se ingresó no es válida. Por ejemplo, puede haberse vencido o tener un formato incorrecto.
FIRAuthErrorCodeInvalidEmail
Indica que la dirección de correo electrónico no tiene el formato correcto, si el tipo de credencial es EmailPasswordAuthCredential.
FIRAuthErrorCodeWrongPassword
Indica que el usuario intentó volver a autenticarse con una contraseña incorrecta, si el tipo de credencial es EmailPasswordAuthCredential.
FIRAuthErrorCodeUserMismatch
Indica que un usuario distinto del usuario actual intentó reautenticarse.
FIRAuthErrorCodeOperationNotAllowed
Indica que no se habilitaron las cuentas con proveedor de identidad representadas por la credencial. Habilítalas en la sección Auth de Firebase console.
FIRAuthErrorCodeEmailAlreadyInUse
Indica que el correo electrónico que se declara en la credencial (p. ej., el correo electrónico de un token de acceso de Facebook) ya lo está usando otra cuenta y no se puede volver a autenticar con este método de acceso. Llama a fetchProvidersForEmail para obtener el correo electrónico de este usuario y, luego, solicita que acceda con cualquiera de los proveedores de acceso mostrados. Este error solo aparecerá si se habilita la configuración “Una cuenta por dirección de correo electrónico” en Firebase console, en la sección Authentication.
FIRAuthErrorCodeUserDisabled
Indica que la cuenta del usuario está inhabilitada.
updateEmail:completion:
Código
Significado
FIRAuthErrorCodeEmailAlreadyInUse
Indica que existe otra cuenta que utiliza ese correo electrónico.
FIRAuthErrorCodeInvalidEmail
Indica que la dirección de correo electrónico no tiene el formato correcto.
FIRAuthErrorCodeRequiresRecentLogin
La actualización del correo electrónico de un usuario es una operación de seguridad que requiere que el usuario haya accedido recientemente. Este error indica que el acceso del usuario no ha sido suficientemente reciente. Para solucionar este problema, invoca a reauthenticateWithCredential:completion: en FIRUser a fin de volver a autenticar al usuario.
updatePassword:completion:
Código
Significado
FIRAuthErrorCodeOperationNotAllowed
Indica que el administrador inhabilitó el acceso con el proveedor de identidad especificado.
FIRAuthErrorCodeRequiresRecentLogin
La actualización de la contraseña de un usuario es una operación de seguridad que requiere que el usuario haya accedido recientemente. Este error indica que el acceso del usuario no ha sido suficientemente reciente. Para solucionar este problema, invoca a reauthenticateWithCredential:completion: en FIRUser a fin de volver a autenticar al usuario.
FIRAuthErrorCodeWeakPassword
Indica que se intentó configurar una contraseña poco segura. El campo NSLocalizedFailureReasonErrorKey en el objeto de diccionario NSError.userInfo contendrá una explicación más detallada que se puede mostrar al usuario.
linkWithCredential:completion:
Código
Significado
FIRAuthErrorCodeProviderAlreadyLinked
Indica que se intentó vincular a esta cuenta un proveedor de un tipo que ya está vinculado.
FIRAuthErrorCodeCredentialAlreadyInUse
Indica que se intentó vincular con una credencial que ya se vinculó con otra cuenta de Firebase.
FIRAuthErrorCodeOperationNotAllowed
Indica que no se habilitaron las cuentas con proveedor de identidad representadas por la credencial. Habilítalas en la sección Auth de Firebase console.
Indica que se intentó desvincular un proveedor que no está vinculado a la cuenta.
FIRAuthErrorCodeRequiresRecentLogin
La actualización del correo electrónico es una operación de seguridad que requiere que el usuario haya accedido recientemente. Este error indica que el acceso del usuario no ha sido suficientemente reciente. Para solucionar este problema, invoca a reauthenticateWithCredential:completion: en FIRUser a fin de volver a autenticar al usuario.
sendEmailVerificationWithCompletion:
Código
Significado
FIRAuthErrorCodeUserNotFound
Indica que no se encontró la cuenta de usuario.
deleteWithCompletion:
Código
Significado
FIRAuthErrorCodeRequiresRecentLogin
La eliminación de la cuenta de un usuario es una operación de seguridad sensible que requiere que el usuario haya accedido recientemente. Este error indica que el acceso del usuario no ha sido suficientemente reciente. Para solucionar este problema, invoca a reauthenticateWithCredential:completion: en FIRUser a fin de volver a autenticar al usuario.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-02-28 (UTC)"],[],[]]