Saltare al contenuto

Supabase Google Login su Android

GitHub

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

La completa implementazione è disponibile nel file dell'applicazione esemplare. Questa guida spiega i concetti chiave e come utilizzarla. Utilizzo dell'helper di autenticazione supabaseAuthUtils.ts Sezione intitolata “Utilizzo dell'helper di autenticazione”

Copia nel portapenna authenticateWithGoogleSupabase file

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

How It Works

Come funziona

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" nella guida di configurazione generale.

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

Note importanti

Note importanti

Gestione del nonce

Gestione del nonce

La implementazione del nonce segue il modello dalla documentazione di Google Sign In per React Native:

  • 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

L'implementazione include la logica di ritentativo automatico:

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

Se l'autenticazione fallisce:

  • Audience non valida: Verifica che gli ID Client Google corrispondano in entrambi Google Cloud Console e Supabase
  • Non corrispondenza 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' in l'istanza di inizializzazione per ottenere un idToken
  • Recensisci l' esempio di applicazione code per 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 Utilizza @capgo/capacitor-login-social per il dettaglio di implementazione in @capgo/capacitor-login-social Utilizza @capgo/capacitor-passkey per il dettaglio 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.