Saltare al contenuto

Introduzione all'integrazione Firebase

GitHub

Questa guida ti guiderà attraverso la configurazione dell'autenticazione Firebase con il plugin di accesso sociale Capacitor. Questa integrazione consente di utilizzare i provider di accesso sociale nativi (Google, Apple, Facebook, Twitter) sulle piattaforme mobili, mentre si utilizza l'autenticazione Firebase per l'autenticazione backend e Firestore per lo storage dei dati.

  • Come configurare l'autenticazione Firebase
  • Come integrare il plugin di accesso sociale Capacitor con l'autenticazione Firebase
  • Configurazione specifica per piattaforma per Android, iOS e Web

Prima di iniziare, assicurati di avere:

  1. Un Progetto Firebase

    • Crea un progetto a Console di Firebase
    • Abilita l'autenticazione (Email/Password e Google Sign-In)
    • Otterra le credenziali di configurazione Firebase
  2. Firebase JS SDK

    • Installa Firebase nel tuo progetto:
      Finestra del terminale
      npm install firebase
  3. Un progetto Capacitor

    • Un'applicazione Capacitor esistente
    • Il plugin di login sociale Capacitor installato:
      Finestra del terminale
      npm install @capgo/capacitor-social-login
      npx cap sync

Un esempio completo e funzionante è disponibile nel repository:

Code Repository: Puoi trovare il repository code qui

L'applicazione di esempio dimostra:

  • Autenticazione email/password con Firebase
  • Integrazione di Google Sign-In (Android, iOS e Web)
  • Un semplice archivio di chiavi-valori utilizzando le raccolte di Firestore di Firebase
  • Il salvataggio di dati specifici per l'utente nelle sottoraccolte di Firestore

Una parola sul utilizzo del Firebase SDK su Capacitor

Sezione intitolata “Una parola su l'uso del Firebase SDK su Capacitor”

Quando si utilizza il Firebase JS SDK su Capacitor, è necessario essere consapevoli del fatto che quando si utilizzano i metodi di autenticazione, è necessario inizializzare l'istanza di Firebase Auth in modo leggermente diverso.

Sul piattaforma web, si utilizzerebbe la getAuth funzione per ottenere l'istanza di Firebase Auth.

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

Purtroppo, su Capacitor, questo non funziona e causa l'attesa di Firebase auth. Come riportato in questo post del blog, è necessario utilizzare la initializeAuth funzione per inizializzare l'istanza di Firebase Auth. Questo assomiglia a questo:

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();

Continua con le guide di configurazione:

Se stai utilizzando Introduzione all'integrazione con Firebase per pianificare l'autenticazione e i flussi di account, connettilo con Usando @capgo/capacitor-login-social per la capacità nativa in Usando @capgo/capacitor-login-social, @capgo/capacitor-login-social per il dettaglio di implementazione in @capgo/capacitor-login-social, @capgo/capacitor-passkey per il dettaglio di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-biometric-nativo per il dettaglio di implementazione in @capgo/capacitor-biometric-nativo, e Autenticazione a due fattori per il dettaglio di implementazione in Autenticazione a due fattori.