Saltare al contenuto

Introduzione all'Integrazione di Supabase

GitHub

Questa guida ti 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) sui piattaforme mobili, mentre si utilizza l'autenticazione Supabase per l'autenticazione backend e PostgreSQL per il storage dei dati.

  • Come configurare l'autenticazione di Supabase
  • Come integrare Capacitor plugin di accesso sociale con Supabase Auth
  • Impostazioni specifiche 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 di Supabase

    • Crea un progetto su Pannello di controllo di Supabase
    • Abilita il provider di autenticazione OAuth di Google
    • Ottenere l'URL del progetto Supabase e la chiave anonima
  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
    • Plugin di accesso Social Capacitor installato:
      Finestra del terminale
      npm install @capgo/capacitor-social-login
      npx cap sync
  4. Configurazione di Google per piattaforma

Esempio di applicazione completo e funzionante disponibile nel repository:

Repository di Code: Potete trovare il repository code qui

L'applicazione di esempio dimostra:

  • L'autenticazione email/password con Supabase
  • L'integrazione di Sign-In Google (Android, iOS e Web)
  • Un semplice archivio di valori utilizzando le tabelle PostgreSQL di Supabase
  • Dati di archiviazione specifici dell'utente con livello di sicurezza dei dati (RLS)

Supabase richiede una gestione del nonce speciale 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 Cifralo con SHA-256 per ottenere
  • Pass nonceDigest
  • per Google Sign-In nonceDigest __CAPGO_KEEP_0__
  • Passa a Supabase (Supabase lo hash internamente per confronto) rawNonce JWT Validation

La destinazione 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)
  • Considerazioni specifiche della piattaforma

Sottosezione intitolata “Considerazioni specifiche della piattaforma”

IOS
  • : La cache dei token può causare problemi di nonce - l'implementazione gestisce automaticamente questo problemaLa cache dei token può causare problemi di nonce - l'implementazione gestisce automaticamente questo problema
  • WebDeve chiamare isLoggedIn() on mount per gestire le redirect OAuth
  • AndroidImplementazione standard con configurazione del fingerprint SHA-1

Continua con le guide di configurazione:

Se stai utilizzando Introduzione all'integrazione di 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-social-login, @capgo/capacitor-social-login per il dettaglio di implementazione in @capgo/capacitor-social-login, @capgo/capacitor-passkey per il dettaglio di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-biometrica-nativa per i dettagli di implementazione in @capgo/capacitor-biometrica nativa, e Autenticazione a due fattori per i dettagli di implementazione in Autenticazione a due fattori.