Si la devolución de llamada de finalización de los métodos de autenticación recibe un argumento NSError
que no es nulo, se ha producido un error. Para enviar a la lógica de manejo de errores adecuada en su código de producción, verifique el código de error con los errores comunes y los errores específicos del método que se enumeran a continuación.
Algunos errores se pueden resolver mediante acciones particulares del usuario; por ejemplo, FIRAuthErrorCodeUserTokenExpired
se puede resolver iniciando sesión nuevamente y FIRAuthErrorCodeWrongPassword
pidiéndole que proporcione la contraseña correcta.
Excepto en el caso de FIRAuthErrorCodeNetworkError
o FIRAuthErrorCodeTooManyRequests
, volver a intentar una operación fallida con los mismos argumentos nunca tendrá éxito. No haga suposiciones sobre si la operación ha tenido efecto o no en el lado del servidor.
Al investigar o registrar errores, revise el diccionario userInfo
. FIRAuthErrorNameKey
contiene una cadena de nombre de error multiplataforma que se puede utilizar para identificar el error. NSLocalizedDescriptionKey
contiene una descripción del error. Esta descripción está destinada al desarrollador, no al usuario. NSUnderlyingErrorKey
contiene el error subyacente que causó el error en cuestión, si hay un error subyacente.
Además de los campos principales enumerados anteriormente, puede haber otros campos en el diccionario userInfo
que pueden resultarle útiles al diagnosticar errores.
Códigos de error comunes a todos los métodos API
Código | Significado |
---|
FIRAuthErrorCodeNetworkError | Indica que se produjo un error de red durante la operación. |
FIRAuthErrorCodeUserNotFound | Indica que no se encontró la cuenta de usuario. Esto podría suceder si la cuenta de usuario ha sido eliminada. |
FIRAuthErrorCodeUserTokenExpired | Indica que el token del usuario actual ha caducado; por ejemplo, es posible que el usuario haya cambiado la contraseña de la cuenta en otro dispositivo. Debe pedirle al usuario que inicie sesión nuevamente en este dispositivo. |
FIRAuthErrorCodeTooManyRequests | Indica que la solicitud se bloqueó después de que se realizó una cantidad anormal de solicitudes desde el dispositivo que llama a los servidores de Firebase Authentication. Vuelva a intentarlo después de un tiempo. |
FIRAuthErrorCodeInvalidAPIKey | Indica que la aplicación se ha configurado con una clave API no válida. |
FIRAuthErrorCodeAppNotAuthorized | Indica que la aplicación no está autorizada a utilizar Firebase Authentication con la clave API proporcionada. vaya a la Consola API de Google y verifique en la pestaña de credenciales que la clave API que está utilizando tenga el ID del paquete de su aplicación en la lista blanca. |
FIRAuthErrorCodeKeychainError | Indica que ocurrió un error al acceder al llavero. Los campos NSLocalizedFailureReasonErrorKey y NSUnderlyingErrorKey en el diccionario NSError.userInfo contendrán más información sobre el error encontrado. |
FIRAuthErrorCodeInternalError | Indica que ocurrió un error interno. Informe el error con todo el objeto NSError . |
Códigos de error específicos del método
FIRAuth
fetchProvidersForEmail:finalización:
Código | Significado |
---|
FIRAuthErrorCodeInvalidEmail | Indica que la dirección de correo electrónico tiene un formato incorrecto. |
iniciar sesión con correo electrónico: contraseña: finalización:
Código | Significado |
---|
FIRAuthErrorCodeOperationNotAllowed | Indica que las cuentas de correo electrónico y contraseña no están habilitadas. Habilítelos en la sección Auth de Firebase console . |
FIRAuthErrorCodeInvalidEmail | Indica que la dirección de correo electrónico tiene un formato incorrecto. |
FIRAuthErrorCodeUserDisabled | Indica que la cuenta del usuario está deshabilitada. |
FIRAuthErrorCodeWrongPassword | Indica que el usuario intentó iniciar sesión con una contraseña incorrecta. |
iniciar sesión con credencial: finalización:
Código | Significado |
---|
FIRAuthErrorCodeInvalidCredential | Indica que la credencial proporcionada no es válida. Esto podría suceder si ha caducado o tiene un formato incorrecto. |
FIRAuthErrorCodeInvalidEmail | Indica que la dirección de correo electrónico tiene un formato incorrecto, si la credencial es del tipo EmailPasswordAuthCredential . |
FIRAuthErrorCodeOperationNotAllowed | Indica que las cuentas con el proveedor de identidad representado por la credencial no están habilitadas. Habilítelos en la sección Auth de Firebase console . |
FIRAuthErrorCodeEmailAlreadyInUse | Indica que el correo electrónico afirmado por la credencial (por ejemplo, el correo electrónico en un token de acceso de Facebook) ya está en uso por una cuenta existente, que no se puede autenticar con este método de inicio de sesión. Llame a fetchProvidersForEmail para obtener el correo electrónico de este usuario y luego solicítele que inicie sesión con cualquiera de los proveedores de inicio de sesión devueltos. Este error solo se producirá si la configuración "Una cuenta por dirección de correo electrónico" está habilitada en Firebase console , en Configuración de autenticación. |
FIRAuthErrorCodeUserDisabled | Indica que la cuenta del usuario está deshabilitada. |
FIRAuthErrorCodeWrongPassword | Indica que el usuario intentó iniciar sesión con una contraseña incorrecta, si la credencial es del tipo EmailPasswordAuthCredential . |
iniciar sesión de forma anónima con finalización:
Código | Significado |
---|
FIRAuthErrorCodeOperationNotAllowed | Indica que las cuentas anónimas no están habilitadas. Habilítelos en la sección Auth de Firebase console . |
signInWithCustomToken:finalización:
Código | Significado |
---|
FIRAuthErrorCodeInvalidCustomToken | Indica un error de validación con el token personalizado. |
FIRAuthErrorCodeCustomTokenMismatch | Indica que la cuenta de servicio y la clave API pertenecen a proyectos diferentes. |
crearUsuarioConEmail:contraseña:finalización:
Código | Significado |
---|
FIRAuthErrorCodeInvalidEmail | Indica que la dirección de correo electrónico tiene un formato incorrecto. |
FIRAuthErrorCodeEmailAlreadyInUse | Indica que el correo electrónico utilizado para intentar registrarse ya existe. Llame a fetchProvidersForEmail para comprobar qué mecanismos de inicio de sesión utilizó dicho usuario y solicite al usuario que inicie sesión con uno de ellos. |
FIRAuthErrorCodeOperationNotAllowed | Indica que las cuentas de correo electrónico y contraseña no están habilitadas. Habilítelos en la sección Autenticación de Firebase console . |
FIRAuthErrorCodeWeakPassword | Indica un intento de establecer una contraseña que se considera demasiado débil. El campo NSLocalizedFailureReasonErrorKey en el objeto de diccionario NSError.userInfo contendrá una explicación más detallada que se puede mostrar al usuario. |
desconectar:
Código | Significado |
---|
FIRAuthErrorCodeKeychainError | Indicó que ocurrió un error al acceder al llavero. Los campos NSLocalizedFailureReasonErrorKey y NSUnderlyingErrorKey en el diccionario NSError.userInfo contendrán más información sobre el error encontrado. |
FIRUser
Errores comunes para las operaciones de FIRUser
Código | Significado |
---|
FIRAuthErrorCodeInvalidUserToken | Indica que el token de actualización del usuario que inició sesión, que contiene información de la sesión, no es válido. Debe pedirle al usuario que inicie sesión nuevamente en este dispositivo. |
FIRAuthErrorCodeUserDisabled | Indica que la cuenta del usuario está deshabilitada y ya no se puede usar hasta que se habilite nuevamente desde el panel Usuarios en Firebase console. |
reauthenticateWithCredential: finalización:
Código | Significado |
---|
FIRAuthErrorCodeInvalidCredential | Indica que la credencial proporcionada no es válida. Esto podría suceder si ha caducado o tiene un formato incorrecto. |
FIRAuthErrorCodeInvalidEmail | Indica que la dirección de correo electrónico tiene un formato incorrecto, si la credencial es del tipo EmailPasswordAuthCredential . |
FIRAuthErrorCodeWrongPassword | Indica que el usuario intentó volver a autenticarse con una contraseña incorrecta, si la credencial es del tipo EmailPasswordAuthCredential . |
FIRAuthErrorCodeUserMismatch | Indica que se intentó volver a autenticarse con un usuario que no es el usuario actual. |
FIRAuthErrorCodeOperationNotAllowed | Indica que las cuentas con el proveedor de identidad representado por la credencial no están habilitadas. Habilítelos en la sección Auth de Firebase console . |
FIRAuthErrorCodeEmailAlreadyInUse | Indica que el correo electrónico afirmado por la credencial (por ejemplo, el correo electrónico en un token de acceso de Facebook) ya está en uso en una cuenta existente, que no se puede volver a autenticar con este método de inicio de sesión. Llame a fetchProvidersForEmail para obtener el correo electrónico de este usuario y luego solicítele que inicie sesión con cualquiera de los proveedores de inicio de sesión devueltos. Este error solo se producirá si la configuración "Una cuenta por dirección de correo electrónico" está habilitada en Firebase console , en Configuración de autenticación. |
FIRAuthErrorCodeUserDisabled | Indica que la cuenta del usuario está deshabilitada. |
actualizarCorreo electrónico: finalización:
Código | Significado |
---|
FIRAuthErrorCodeEmailAlreadyInUse | Indica que el correo electrónico ya está en uso en otra cuenta. |
FIRAuthErrorCodeInvalidEmail | Indica que la dirección de correo electrónico tiene un formato incorrecto. |
FIRAuthErrorCodeRequiresRecentLogin | Actualizar el correo electrónico de un usuario es una operación sensible a la seguridad que requiere un inicio de sesión reciente por parte del usuario. Este error indica que el usuario no ha iniciado sesión lo suficientemente recientemente. Para resolverlo, vuelva a autenticar al usuario invocando reauthenticateWithCredential:completion: en FIRUser . |
actualizarContraseña:finalización:
Código | Significado |
---|
FIRAuthErrorCodeOperationNotAllowed | Indica que el administrador deshabilitó el inicio de sesión con el proveedor de identidad especificado. |
FIRAuthErrorCodeRequiresRecentLogin | Actualizar la contraseña de un usuario es una operación sensible a la seguridad que requiere un inicio de sesión reciente por parte del usuario. Este error indica que el usuario no ha iniciado sesión lo suficientemente recientemente. Para resolverlo, vuelva a autenticar al usuario invocando reauthenticateWithCredential:completion: en FIRUser . |
FIRAuthErrorCodeWeakPassword | Indica un intento de establecer una contraseña que se considera demasiado débil. El campo NSLocalizedFailureReasonErrorKey en el objeto de diccionario NSError.userInfo contendrá una explicación más detallada que se puede mostrar al usuario. |
linkWithCredential:finalización:
Código | Significado |
---|
FIRAuthErrorCodeProviderAlreadyLinked | Indica un intento de vincular un proveedor de un tipo ya vinculado a esta cuenta. |
FIRAuthErrorCodeCredentialAlreadyInUse | Indica un intento de vincular con una credencial que ya se vinculó con una cuenta de Firebase diferente. |
FIRAuthErrorCodeOperationNotAllowed | Indica que las cuentas con el proveedor de identidad representado por la credencial no están habilitadas. Habilítelos en la sección Auth de Firebase console . |
Este método también puede devolver códigos de error asociados con updateEmail:completion:
y updatePassword:completion:
en FIRUser
.
unlinkFromProvider: finalización:
Código | Significado |
---|
FIRAuthErrorCodeNoSuchProvider | Indica un intento de desvincular un proveedor que no está vinculado a la cuenta. |
FIRAuthErrorCodeRequiresRecentLogin | La actualización del correo electrónico es una operación sensible a la seguridad que requiere un inicio de sesión reciente por parte del usuario. Este error indica que el usuario no ha iniciado sesión lo suficientemente recientemente. Para resolverlo, vuelva a autenticar al usuario invocando reauthenticateWithCredential:completion: en FIRUser . |
enviarEmailVerificationWithCompletion:
Código | Significado |
---|
FIRAuthErrorCodeUserNotFound | Indica que no se encontró la cuenta de usuario. |
eliminar con finalización:
Código | Significado |
---|
FIRAuthErrorCodeRequiresRecentLogin | Eliminar una cuenta de usuario es una operación sensible a la seguridad que requiere un inicio de sesión reciente por parte del usuario. Este error indica que el usuario no ha iniciado sesión lo suficientemente recientemente. Para resolverlo, vuelva a autenticar al usuario invocando reauthenticateWithCredential:completion: en FIRUser . |