¿Qué hace firebase-auth-basics?
Guía para configurar y usar Firebase Authentication. Usa esta habilidad cuando la aplicación del usuario requiera inicio de sesión, gestión de usuarios o acceso seguro a datos mediante reglas de autenticación.
Configuración inicial
- Ve a la Consola de Firebase y selecciona tu proyecto.
- En el menú lateral, haz clic en Authentication.
- Haz clic en Comenzar y luego en la pestaña Sign-in method.
- Habilita los proveedores de autenticación que necesites (correo electrónico/contraseña, Google, Facebook, etc.).
Instalación
Para usar Firebase Authentication en tu aplicación, instala el SDK correspondiente:
npm install firebase
Inicialización
Importa e inicializa Firebase en tu aplicación:
import { initializeApp } from "firebase/app";
import { getAuth } from "firebase/auth";
const firebaseConfig = {
apiKey: "TU_API_KEY",
authDomain: "TU_PROJECT.firebaseapp.com",
projectId: "TU_PROJECT_ID",
// ... otros campos
};
const app = initializeApp(firebaseConfig);
const auth = getAuth(app);
Autenticación básica
Registro con correo electrónico y contraseña
import { createUserWithEmailAndPassword } from "firebase/auth";
createUserWithEmailAndPassword(auth, email, password)
.then((userCredential) => {
// Usuario registrado
const user = userCredential.user;
})
.catch((error) => {
const errorCode = error.code;
const errorMessage = error.message;
});
Inicio de sesión con correo electrónico y contraseña
import { signInWithEmailAndPassword } from "firebase/auth";
signInWithEmailAndPassword(auth, email, password)
.then((userCredential) => {
// Usuario autenticado
const user = userCredential.user;
})
.catch((error) => {
const errorCode = error.code;
const errorMessage = error.message;
});
Cerrar sesión
import { signOut } from "firebase/auth";
signOut(auth).then(() => {
// Sesión cerrada
}).catch((error) => {
// Error al cerrar sesión
});
Integración con reglas de seguridad
Firebase Authentication se integra con Firestore y Realtime Database para controlar el acceso a datos mediante reglas de seguridad:
// Firestore
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth.uid == userId;
}
}
Gestión de usuarios
Puedes gestionar usuarios desde la Consola de Firebase o mediante el Admin SDK:
npm install firebase-admin
const admin = require("firebase-admin");
admin.auth().getUser(uid)
.then((userRecord) => {
console.log(userRecord.toJSON());
})
.catch((error) => {
console.error("Error al obtener usuario:", error);
});