Saltare al contenuto

Continua dall'introduzione all'integrazione Supabase

Repository di accesso sociale GitHub repository

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) 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 login 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

Esempio di applicazione completo disponibile nel repository:

Repository Code: Trova 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-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 istruzioni della documentazione di Google Sign In per React Native Genera un:

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

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

  • 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 direzioni di OAuth
  • Android: Implementazione standard con configurazione del fingerprint SHA-1

Supabase Google Login - Configurazione di base

Continua dall'Introduzione all'integrazione con Supabase

Sezione intitolata “Continua dall'Introduzione all'integrazione con Supabase”

Se stai utilizzando Introduzione all'integrazione con 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 Utilizza @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