26.7 Autenticación de Firebase en Flutter: Gestión de usuarios
La autenticación es una parte esencial de cualquier aplicación moderna. Firebase Authentication proporciona un sistema de autenticación completo que admite autenticación de correo electrónico y contraseña, autenticación de teléfono, autenticación de Google, Facebook, Twitter y GitHub, y mucho más. Con Firebase Authentication, puedes agregar rápida y fácilmente funcionalidad de autenticación a tu aplicación Flutter.
Configuración de la autenticación de Firebase
Para comenzar a usar Firebase Authentication, primero debes crear un proyecto de Firebase y conectar tu aplicación Flutter a ese proyecto. Una vez que hayas hecho eso, puedes agregar la dependencia de autenticación de Firebase a tu archivo `pubspec.yaml`:
dependencias: firebase_auth: ^0.18.1+1
Después de agregar la dependencia, debes importar el paquete de autenticación de Firebase en tu código:
importar 'paquete:firebase_auth/firebase_auth.dart';
Autenticación por Email y Contraseña
La autenticación por correo electrónico y contraseña es la forma más básica de autenticación. Con Firebase Authentication, puedes crear un nuevo usuario con una dirección de correo electrónico y contraseña usando el método `createUserWithEmailAndPassword`:
FirebaseAuth autenticación = FirebaseAuth.instance; intentar { UserCredential userCredential = espera auth.createUserWithEmailAndPassword( correo electrónico: "ejemplo@ejemplo.com", contraseña: "¡Contraseña supersecreta!" ); } 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); }
Una vez que crea un usuario, puede autenticarlo usando el método `signInWithEmailAndPassword`:
intentar { UserCredential userCredential = espera auth.signInWithEmailAndPassword( correo electrónico: "ejemplo@ejemplo.com", contraseña: "¡Contraseña supersecreta!" ); } 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.'); } } atrapar (e) { imprimir(e); }
Administrar usuarios
Firebase Authentication proporciona varias formas de administrar usuarios. Por ejemplo, puedes obtener el usuario actualmente autenticado usando la propiedad `currentUser`:
Usuario usuario = auth.currentUser;
También puedes escuchar los cambios en el usuario actualmente autenticado usando la transmisión `authStateChanges`:
auth.authStateChanges().listen((Usuario usuario) { si (usuario == nulo) { print('¡El usuario actualmente no ha iniciado sesión!'); } demás { print('¡El usuario ha iniciado sesión!'); } });
Además, puede cerrar la sesión del usuario actual utilizando el método `signOut`:
espere auth.signOut();
Conclusión
Con Firebase Authentication, puedes agregar fácilmente la funcionalidad de autenticación a tu aplicación Flutter. Ya sea autenticación de correo electrónico y contraseña, autenticación telefónica, autenticación de Google, Facebook, Twitter o GitHub, Firebase Authentication lo tiene cubierto.
Además, Firebase Authentication proporciona varias formas de administrar usuarios. Puede obtener el usuario actualmente autenticado, escuchar los cambios en el usuario actualmente autenticado y cerrar la sesión del usuario actual. Esto hace que la gestión de usuarios sea muy sencilla.
En resumen, Firebase Authentication es una excelente opción para agregar funcionalidad de autenticación a tu aplicación Flutter.