Una parte crucial de muchas aplicaciones es la capacidad de crear cuentas de usuario y autenticar a los usuarios existentes. Firebase Authentication proporciona una solución completa y segura para esto y es fácil de integrar con Flutter. En este capítulo, exploraremos cómo implementar la autenticación de Firebase en una aplicación Flutter.
Configuración de Firebase
Antes de comenzar, necesitamos configurar Firebase. Primero, crea un nuevo proyecto de Firebase y sigue las instrucciones para agregar Firebase a tu aplicación Flutter. Asegúrese de habilitar el método de autenticación de correo electrónico y contraseña en la configuración de autenticación de Firebase.
Instalación del paquete Flutter
Para usar Firebase Authentication, necesitamos instalar el paquete firebase_auth. Agregue la siguiente línea a su archivo pubspec.yaml y ejecute 'flutter packages get' en la terminal:
dependencias: firebase_auth: ^0.18.4
Creación de la interfaz de usuario
Creemos una interfaz de usuario sencilla con dos campos de texto para correo electrónico y contraseña y dos botones para iniciar sesión y registrarse. Para simplificar las cosas, no nos ocuparemos de la validación de formularios en este ejemplo.
Campo de texto( decoración: EntradaDecoración( labelText: 'Correo electrónico', ), onChanged: (valor) { correo electrónico = valor; }, ), Campo de texto( decoración: EntradaDecoración( labelText: 'Contraseña', ), texto oscuro: verdadero, onChanged: (valor) { contraseña = valor; }, ), Botón elevado( niño: Texto('Iniciar sesión'), onPressed: iniciar sesión, ), Botón elevado( niño: Texto('Registrarse'), onPressed: registrarse, ),
Autenticación de Firebase
Ahora implementemos las funciones de inicio de sesión y registro. Primero, necesitamos crear una nueva instancia de FirebaseAuth:
autenticación final de FirebaseAuth = FirebaseAuth.instance;
La función de inicio de sesión intenta autenticar a un usuario con el correo electrónico y la contraseña proporcionados. Si la autenticación se realiza correctamente, el usuario inicia sesión automáticamente en la aplicación y puede acceder a funciones protegidas.
FuturosignIn() asíncrono { intentar { UserCredential userCredential = espera auth.signInWithEmailAndPassword( correo electrónico: correo electrónico, contraseña: contraseña, ); } en FirebaseAuthException captura (e) { if (e.code == 'usuario no encontrado') { print('No se encontró ningún usuario para ese correo electrónico.'); } else if (e.code == 'contraseña incorrecta') { print('Se proporcionó una contraseña incorrecta para ese usuario.'); } } }
La función de registro crea una nueva cuenta de usuario con el correo electrónico y la contraseña proporcionados. Si la creación de la cuenta se realiza correctamente, el usuario iniciará sesión automáticamente en la aplicación.
Futuroregistro() asíncrono { intentar { UserCredential userCredential = espera auth.createUserWithEmailAndPassword( correo electrónico: correo electrónico, contraseña: contraseña, ); } en FirebaseAuthException captura (e) { if (e.code == 'contraseña débil') { print('La contraseña proporcionada es demasiado débil.'); } else if (e.code == 'correo electrónico-ya-en-uso') { print('La cuenta ya existe para ese correo electrónico.'); } } atrapar (e) { imprimir(e); } }
Conclusión
Con esto, deberías tener un conocimiento básico de cómo implementar la autenticación de Firebase en una aplicación Flutter. Hay muchas otras funciones que ofrece Firebase Authentication, como autenticación por teléfono, inicio de sesión de Google, inicio de sesión de Facebook y más. Esperamos que este capítulo le haya proporcionado una base sólida para que pueda explorar estas funciones por su cuenta.