Introduzione all'Integrazione con Supabase
Panoramica
Section titled āPanoramicaāQuesto tutorial ti guiderĆ attraverso la configurazione dellāautenticazione Supabase con il plugin Capacitor Social Login. Questa integrazione ti consente di utilizzare provider di social login nativi (Google, Apple, Facebook, Twitter) sulle piattaforme mobili sfruttando Supabase Auth per lāautenticazione backend e PostgreSQL per lāarchiviazione dei dati.
Cosa Imparerai
Section titled āCosa Impareraiā- Come configurare lāautenticazione Supabase
- Come integrare il plugin Capacitor Social Login con Supabase Auth
- Configurazione specifica per piattaforma per Android, iOS e Web
- Come gestire i nonce in modo sicuro per Supabase
Cosa Ti Serve
Section titled āCosa Ti ServeāPrima di iniziare, assicurati di avere:
-
Un Progetto Supabase
- Crea un progetto su Dashboard Supabase
- Abilita il provider OAuth di Google
- Ottieni lāURL del progetto Supabase e la chiave anon
-
Supabase JS SDK
- Installa Supabase nel tuo progetto:
Terminal window npm install @supabase/supabase-js
- Installa Supabase nel tuo progetto:
-
Un Progetto Capacitor
- Unāapplicazione Capacitor esistente
- Plugin Capacitor Social Login installato:
Terminal window npm install @capgo/capacitor-social-loginnpx cap sync
-
Configurazione di Google Specifica per Piattaforma
- Completa la configurazione di Google Sign-In per le tue piattaforme di destinazione:
Applicazione di Esempio
Section titled āApplicazione di EsempioāUn esempio completo funzionante ĆØ disponibile nel repository:
Repository del Codice: Puoi trovare il repository del codice qui
Lāapp di esempio dimostra:
- Autenticazione email/password con Supabase
- Integrazione di Google Sign-In (Android, iOS e Web)
- Un semplice key-value store utilizzando le tabelle PostgreSQL di Supabase
- Archiviazione di dati specifici dellāutente con Row Level Security (RLS)
Dettagli Chiave dellāImplementazione
Section titled āDettagli Chiave dellāImplementazioneāGestione del Nonce
Section titled āGestione del NonceāSupabase richiede una gestione speciale del nonce per la sicurezza. Lāimplementazione segue la documentazione React Native Google Sign In:
- Genera un
rawNonce(stringa casuale URL-safe) - Creane un hash con SHA-256 per ottenere
nonceDigest - Passa
nonceDigesta Google Sign-In - Passa
rawNoncea Supabase (Supabase lo hasha internamente per il confronto)
Validazione JWT
Section titled āValidazione JWTāLāimplementazione di esempio include la validazione JWT per garantire:
- Lāaudience del token corrisponde ai tuoi Google Client ID configurati
- Il nonce corrisponde al digest previsto
- Retry automatico in caso di fallimento della validazione (particolarmente importante per iOS)
Considerazioni Specifiche per Piattaforma
Section titled āConsiderazioni Specifiche per Piattaformaā- iOS: Il caching dei token può causare problemi con il nonce - lāimplementazione gestisce questo automaticamente
- Web: Deve chiamare
isLoggedIn()al mount per gestire i reindirizzamenti OAuth - Android: Implementazione standard con configurazione dellāimpronta digitale SHA-1
Passaggi Successivi
Section titled āPassaggi SuccessiviāContinua con le guide di configurazione:
- Google Login di Supabase - Configurazione Generale - Panoramica e prerequisiti
- Configurazione Android - Configurazione specifica per Android
- Configurazione iOS - Configurazione specifica per iOS
- Configurazione Web - Configurazione specifica per Web