Saltare al contenuto

Supabase Google Login su Android

GitHub

Questa guida ti aiuterà a integrare l'accesso con Google con l'autenticazione di Supabase su Android. Si presume che tu abbia già completato:

L'implementazione completa è disponibile nel file dell'applicazione di esempio. Questa guida spiega i concetti chiave e come utilizzarla. supabaseAuthUtils.ts Utilizzo dell'helper di autenticazione

Sottosezione intitolata “Utilizzo dell'helper di autenticazione”

La

funzione gestisce l'intero flusso di autenticazione: authenticateWithGoogleSupabase Copia

import { authenticateWithGoogleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithGoogleSupabase();
if (result.success) {
console.log('Signed in:', result.user);
// Navigate to your authenticated area
} else {
console.error('Error:', result.error);
}

Sottosezione intitolata “Come funziona”

Esecuzione

Per una spiegazione dettagliata di come funziona il flusso di autenticazione, compresa la generazione di nonce, la validazione di JWT e l'accesso a Supabase, vedere la sezione Come Funziona nella guida di configurazione generale.

Per la documentazione completa del code, vedere la sezione Documentazione completa del Code nella guida di configurazione generale.

L'implementazione del nonce segue il modello dalla documentazione di React Native Google Sign In:

  • rawNonce va a Supabase’s signInWithIdToken()
  • Supabase crea un hash di rawNonce e lo confronta con il nonceDigest che è incluso nel token ID da Google Sign-In
  • nonceDigest (hash SHA-256, codificato in esadecimale) va al nonce parametro nelle API di Google Sign-In

La implementazione include la logica di ritentativo automatico:

  • Se la validazione del JWT fallisce all'atto primo, si esce e si ritenta una volta
  • Ciò gestisce i casi in cui i token memorizzati potrebbero avere nonci sbagliati
  • Se anche il ritentativo fallisce, si restituisce un errore

If l'autenticazione fallisce:

  • Audience non valida: Verifica che gli ID Client Google siano coerenti sia nel Cloud Console di Google che in Supabase
  • Errore di nonce: Controlla i log del console - la funzione si riproverà automaticamente, ma puoi effettuare il logout manualmente se necessario
  • Fallimento della validazione del token: Assicurati di utilizzare mode: 'online' nel chiamata di inizializzazione per ottenere un idToken
  • Recensisci l'applicazione di esempio __CAPGO_KEEP_0__ example app code Continua da Supabase Google Login on Android

Se stai utilizzando Supabase Google Login su Android 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.