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.