Vai direttamente al contenuto

Supabase Google Login su Android

GitHub

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

L'esecuzione completa è disponibile nell'applicazione di esempio. esempio app's supabaseAuthUtils.ts file. Questa guida spiega i concetti chiave e come utilizzarlo.

Il authenticateWithGoogleSupabase funzione gestisce l'intero flusso di autenticazione:

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);
}

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 del guide di configurazione generale.

Per la documentazione completa code, vedere la sezione Documentazione completa Code della guide di configurazione generale.

L'implementazione del nonce segue il pattern dal 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 in Google Sign-In APIs

La implementazione include la logica di ritentativo automatico:

  • Se la validazione JWT fallisce nell'attacco iniziale, si esce e si tenta nuovamente una volta
  • Ciò gestisce i casi in cui i token memorizzati potrebbero avere nonci sbagliati
  • Se anche il ritentativo fallisce, viene restituito un errore

Se la autenticazione fallisce:

  • Audience non valida: Verifica che i Client ID Google corrispondano in entrambi il Console di Google Cloud e Supabase
  • Mancanza di corrispondenza tra nonce: Controlla i log del console - la funzione si riproverà automaticamente, ma puoi uscire manualmente se necessario
  • La validazione del token fallisce: Assicurati di utilizzare mode: 'online' in l'invocazione di inizializzazione per ottenere un idToken
  • Rivedi l'applicazione di esempio __CAPGO_KEEP_0__ example app code Continua da Supabase Google Login on Android

per pianificare l'autenticazione e le flussi degli account, connettilo con Se stai utilizzando Supabase Google Login on Android per pianificare l'autenticazione e le flussi degli account, connettilo con Se stai utilizzando Supabase Google Login on Android per pianificare l'autenticazione e le flussi degli account, connettilo con Usando @capgo/capacitor-login sociale per la capacità nativa in Usando @capgo/capacitor-login sociale, @capgo/capacitor-login sociale per il dettaglio di implementazione in @capgo/capacitor-login sociale, @capgo/capacitor-passkey per il dettaglio di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-biometria nativa per il dettaglio di implementazione in @capgo/capacitor-biometria nativa, e Autenticazione a due fattori per il dettaglio di implementazione in Autenticazione a due fattori.