Saltar al contenido

Compruebe si ya existe un correo electrónico en Firebase Auth en la aplicación Flutter

Si hallas algún problema en tu código o trabajo, recuerda probar siempre en un entorno de testing antes aplicar el código al trabajo final.

Solución:

El error generado es una PlatformException, por lo que puede hacer algo de la siguiente manera:

try 
  _firbaseAuth.createUserWithEmailAndPassword(
    email: '[email protected]', 
    password: 'password'
  );
 catch(signUpError) 
  if(signUpError is PlatformException) 
    if(signUpError.code == 'ERROR_EMAIL_ALREADY_IN_USE') 
      /// `[email protected]` has alread been registered.
    
  

Firebase Auth informa los siguientes códigos de error:

  • ERROR_WEAK_PASSWORD: si la contraseña no es lo suficientemente segura.
  • ERROR_INVALID_EMAIL: si la dirección de correo electrónico tiene un formato incorrecto.
  • ERROR_EMAIL_ALREADY_IN_USE: si el correo electrónico ya está en uso por otra cuenta.

Creo que la única posibilidad desde dentro de la aplicación es intentar iniciar sesión (signInWithEmailAndPassword) con ese correo electrónico y verifique el resultado.

Si la contraseña no es válida, la cuenta existe. Si es una cuenta inválida, la cuenta no existe.

Error 17011
There is no user record corresponding to this identifier. The user may have been deleted
Error 17009
The password is invalid or the user does not have a password

Como esta es una especie de solución fea, puede justificar esta llamada adicional usándola para verificar que el formato del correo electrónico sea correcto (de acuerdo con las reglas de Firebase). Si no cumple lanzará un address is badly formatted y puede alertar al usuario lo suficientemente pronto.

Puede realizar estas comprobaciones utilizando los códigos de error con las versiones actuales del complemento.

Recuerda que puedes dar difusión a este ensayo si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *