Saltar al contenido

Introducción a la integración de Firebase

GitHub

Esta guía te guiará a través del proceso de configuración de la autenticación de Firebase con el plugin de inicio de sesión social Capacitor. Esta integración te permite utilizar proveedores de inicio de sesión social nativos (Google, Apple, Facebook, Twitter) en plataformas móviles, mientras aprovechas la autenticación de Firebase para la autenticación en el backend y Firestore para el almacenamiento de datos.

  • Cómo configurar la autenticación de Firebase
  • Cómo integrar el plugin de inicio de sesión social Capacitor con la autenticación de Firebase
  • Configuración específica de plataforma para Android, iOS y Web

Antes de comenzar, asegúrate de tener:

  1. Un proyecto de Firebase

    • Crear un proyecto en Consola de Firebase
    • Habilitar Autenticación (Correo electrónico/Contraseña y Inicio de sesión con Google)
    • Obtener las credenciales de configuración de Firebase
  2. Firebase JS SDK

    • Instalar Firebase en tu proyecto:
      Ventana de terminal
      npm install firebase
  3. Un proyecto de Capacitor

    • Una aplicación existente de Capacitor
    • El plugin de inicio de sesión de Capacitor instalado:
      Ventana de terminal
      npm install @capgo/capacitor-social-login
      npx cap sync

Está disponible una aplicación de ejemplo completa y funcional en el repositorio:

Code Repositorio: Puede encontrar el repositorio code aquí

La aplicación de ejemplo demuestra:

  • Autenticación con correo electrónico y contraseña con Firebase
  • Integración de inicio de sesión con Google (Android, iOS y Web)
  • Un almacén de claves de valor simple utilizando colecciones de Firestore de Firebase
  • Almacenamiento de datos específicos del usuario en subcolecciones de Firestore

Una palabra sobre el uso del Firebase SDK en Capacitor

Sección titulada “Una palabra sobre el uso del Firebase SDK en Capacitor”

Al utilizar el Firebase JS SDK en Capacitor, debes tener en cuenta que al utilizar los métodos de autenticación, debes inicializar la instancia de Firebase Auth de manera diferente.

En la plataforma web, utilizarías la getAuth función para obtener la instancia de Firebase Auth.

import { initializeApp } from 'firebase/app';
import { getAuth } from 'firebase/auth';
const app = initializeApp(firebaseConfig);
const auth = getAuth(app);

Desafortunadamente, en Capacitor, esto no funciona y causa que Firebase auth se quede colgado. Como se menciona en este artículo de blog, debes utilizar la initializeAuth función para inicializar la instancia de Firebase Auth. Esto se ve así:

import { initializeApp } from 'firebase/app';
import { initializeAuth } from 'firebase/auth';
const app = initializeApp(firebaseConfig);
function whichAuth() {
let auth;
if (Capacitor.isNativePlatform()) {
auth = initializeAuth(app, {
persistence: indexedDBLocalPersistence,
});
} else {
auth = getAuth(app);
}
return auth;
}
export const auth = whichAuth();

Continuar con las guías de configuración:

Sigue adelante desde la introducción a la integración de Firebase

Sección titulada “Sigue adelante desde la introducción a la integración de Firebase”

Si estás utilizando Introducción a la integración con Firebase para planificar la autenticación y los flujos de cuenta, conectarlo con Usando @capgo/capacitor-login-social para la capacidad nativa en Usando @capgo/capacitor-login-social, @capgo/capacitor-login-social para el detalle de implementación en @capgo/capacitor-login-social, @capgo/capacitor-clave-de-entrada para el detalle de implementación en @capgo/capacitor-clave-de-entrada, @capgo/capacitor-biometría-nativa para el detalle de implementación en @capgo/capacitor-biometría-nativa, y Autenticación en dos factores para el detalle de implementación en Autenticación en dos factores.