Saltare al contenuto

Introduzione all'integrazione di Supabase

GitHub

Questa guida vi guiderà attraverso la configurazione dell'autenticazione Supabase 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 Supabase per l'autenticazione backend e PostgreSQL per lo storage dei dati.

  • Come configurare l'autenticazione Supabase
  • Come integrare il plugin di accesso sociale Capacitor con l'autenticazione Supabase
  • Configurazione specifica per 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

  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
    • Il plugin di autenticazione sociale Capacitor installato:
      Finestra del terminale
      npm install @capgo/capacitor-social-login
      npx cap sync
  4. Configurazione piattaforma-specifica di Google

È disponibile un esempio di applicazione completo nel repository:

Code Repository: Puoi trovare il repository code qui

L'applicazione di esempio dimostra:

  • Autenticazione via email/parola con Supabase
  • Integrazione di Google Sign-In (Android, iOS e Web)
  • Un semplice archivio di chiavi 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 istruzioni della documentazione di Google Sign In per React Native Genera un:

  • stringa casuale sicura per URL rawNonce stringa casuale sicura per URL
  • Hasha con SHA-256 per ottenere nonceDigest
  • Passa nonceDigest a Google Sign-In
  • Passa rawNonce a Supabase (Supabase lo hasha internamente per la comparazione)

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

  • La destinazione del token corrisponde ai Client ID Google configurati
  • La nonce corrisponde al digest previsto
  • Ritenta automaticamente in caso di fallimento della validazione (soprattutto importante per iOS)

Considerazioni specifiche per piattaforma

Considerazioni specifiche della piattaforma
  • IOS: La cache dei token può causare problemi con il nonce - l'implementazione gestisce automaticamente questo problema
  • Web: Deve chiamare isLoggedIn() on mount per gestire le redirect OAuth
  • Android: 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 di Supabase per pianificare l'autenticazione e le flussi di account, connettilo con Utilizza @capgo/capacitor-login sociale per la capacità nativa in Utilizza @capgo/capacitor-login sociale @capgo/capacitor-login sociale per il dettaglio di implementazione in @capgo/capacitor-login sociale @capgo/capacitor-passkey per i dettagli di implementazione in @capgo/capacitor-passkey @capgo/capacitor-native-biometric per i dettagli di implementazione in @capgo/capacitor-native-biometric, e Autenticazione a due fattori per i dettagli di implementazione in Autenticazione a due fattori.