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 sociales nativos (Google, Apple, Facebook, Twitter) en plataformas móviles mientras aprovechas la autenticación de Firebase y Firestore para el almacenamiento de datos.

  • How to configure Firebase Authentication
  • Cómo integrar el plugin de inicio de sesión social Capacitor con Firebase Auth
  • 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 la autenticación (Correo electrónico/Contraseña y inicio de sesión con Google)
    • Obtén tus credenciales de configuración de Firebase
  2. Firebase JS SDK

    • Instale Firebase en su proyecto:
      Ventana de terminal
      npm install firebase
  3. Un proyecto Capacitor

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

Un ejemplo completo y funcional está disponible en el repositorio:

Repositorio Code: Puede encontrar el repositorio code aquí

La aplicación de ejemplo demuestra:

  • Autenticación de correo electrónico/contraseña con Firebase
  • Integración de inicio de sesión de Google (Android, iOS y Web)
  • Un almacén de valores clave-valor simple utilizando colecciones de Firestore de Firebase
  • Almacenamiento de datos específicos de 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, debe tener en cuenta que al utilizar los métodos de autenticación, necesita inicializar la instancia de autenticación de Firebase de manera un poco diferente.

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

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 la autenticación de Firebase se quede colgada. Como se menciona en este post de blog, es necesario utilizar la initializeAuth función para inicializar la instancia de autenticación de Firebase. 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 con Firebase

Sección titulada “Sigue adelante desde la Introducción a la Integración con Firebase”

Si estás utilizando Introducción a la Integración con Firebase para planificar la autenticación y los flujos de cuenta, conecta 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-privada para el detalle de implementación en @capgo/capacitor-clave-privada, @capgo/capacitor-biometría-nativa para el detalle de implementación en @capgo/capacitor-biometría-nativa, y Autenticación de dos factores para el detalle de implementación en Autenticación de dos factores.