Saltare al contenuto

Introduzione all'integrazione di Supabase

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

  • Come configurare l'autenticazione Supabase
  • Come integrare il plugin di login sociale Capacitor con l'autenticazione Supabase
  • Impostazione specifica della piattaforma per Android, iOS e Web
  • Come gestire in modo sicuro i nonces per Supabase

Prima di iniziare, assicurati di avere:

  1. Un Progetto Supabase

    • Crea un progetto su Supabase Dashboard
    • Abilita il provider di autenticazione OAuth di Google
    • Ottieni l'URL e la chiave anonima del tuo progetto Supabase
  2. Supabase JS SDK

    • Installa Supabase nel tuo progetto:
      Finestra del terminale
      npm install @supabase/supabase-js
  3. Un progetto Capacitor

    • Un'applicazione Capacitor esistente
    • Capacitor plugin di accesso sociale installato:
      Finestra del terminale
      npm install @capgo/capacitor-social-login
      npx cap sync
  4. Configurazione di Google per piattaforma

È disponibile un esempio completo e funzionante nel repository:

Code Repository: Puoi trovare il repository code qui

L'applicazione di esempio dimostra:

  • Autenticazione email/password con Supabase
  • Integrazione di Google Sign-In (Android, iOS e Web)
  • Un semplice archivio di valori utilizzando le tabelle PostgreSQL di Supabase
  • Archiviazione di dati specifici per l'utente con la sicurezza di livello di riga (RLS)

Supabase richiede una gestione speciale del nonce per motivi di sicurezza. L'implementazione segue le indicazioni della documentazione di React Native Google Sign In Genera un:

  • (stringa casalinga sicura per URL) rawNonce Cifralo con SHA-256 per ottenere
  • Passa nonceDigest
  • a Google Sign-In nonceDigest Passa
  • a Supabase (Supabase lo cifra internamente per la comparazione) rawNonce Validazione JWT

L'esempio di implementazione include la validazione JWT per garantire:

  • L'audience del token corrisponde ai Client ID Google configurati
  • La nonce corrisponde al digest previsto
  • Ritentativo automatico in caso di fallimento della validazione (soprattutto importante per iOS)
  • iOS: La cache dei token può causare problemi di nonce - l'implementazione gestisce automaticamente questo problema
  • Web: Deve chiamare isLoggedIn() on mount per gestire le redirect OAuth
  • Dispositivi mobili: Implementazione standard con configurazione del fingerprint SHA-1

Continua con le guide di configurazione:

Continua dall'introduzione all'integrazione di Supabase

Sezione intitolata “Continua dall'introduzione all'integrazione di Supabase”

Se stai utilizzando Introduzione all'integrazione con Supabase per pianificare l'autenticazione e le 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.