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:

file dell'applicazione di esempio. Questa guida spiega i concetti chiave e come utilizzarla. Utilizzo dell'Helper di Autenticazione supabaseAuthUtils.ts La

funzione gestisce l'intero flusso di autenticazione:

Copia nel portapenne

The authenticateWithGoogleSupabase function handles the entire authentication flow:

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 del nonce, la validazione del JWT e l'accesso a Supabase, vedere il Sezione “Come funziona” del guide di configurazione generale.

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

La implementazione del nonce segue il modello dal documentazione 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
  • Questo gestisce i casi in cui i token memorizzati potrebbero avere nonci sbagliate
  • Se anche il ritentativo fallisce, viene restituito un errore

Se la autenticazione fallisce:

  • Audience non valido: Verifica che i Client ID Google siano sincronizzati in entrambi Google Cloud Console e Supabase
  • Mancanza di nonce: Controlla i log del console - la funzione si riprova 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 For riferimento

Se stai utilizzando Supabase Google Login su Android per pianificare l'autenticazione e le flussi di account, connettilo con Utilizza @capgo/capacitor-login-social per la capacità nativa in Utilizza @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-autenticazione-biometrica nativa per i dettagli di implementazione in @capgo/capacitor-autenticazione-biometrica nativa, e Autenticazione a due fattori per i dettagli di implementazione in Autenticazione a due fattori.