Saltare al contenuto

Login con Supabase Google su Android

GitHub

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

La completa implementazione è disponibile nella l'esempio di app supabaseAuthUtils.ts file. Questa guida spiega i concetti chiave e come utilizzarlo.

La 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 del nonce, la validazione del JWT e l'accesso a Supabase, vedere Sezione di Funzionamento nella guida di Configurazione Generale.

Per la documentazione completa code vedere la Sezione completa Code Reference nella guida di configurazione generale.

La implementazione del nonce segue il modello dal Documentazione di rete nativa React per l'accesso Google:

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

La implementazione include la logica di ritento 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 sbagliati
  • Se anche il ritento fallisce, si restituisce un errore

Se la autenticazione fallisce:

  • Audience non valida: Verifica che gli ID Client Google corrispondano in entrambi il Console di Google Cloud e Supabase
  • Non corrispondenza del 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' inizializzare la chiamata 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 Utilizzando @capgo/capacitor-login-social per la capacità nativa in Utilizzando @capgo/capacitor-login-social @capgo/capacitor-login-social per il dettaglio di implementazione in @capgo/capacitor-login-social @capgo/capacitor-chiave di accesso 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.