Saltare al contenuto

Login con Supabase Google su Android

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

__CAPGO_KEEP_0__ file dell'applicazione di esempio. Questa guida spiega i concetti chiave e come utilizzarli. supabaseAuthUtils.ts Utilizzo dell'aiuto per l'autenticazione

Sezione intitolata “Utilizzo dell'aiuto per l'autenticazione”

Implementation

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

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

L'implementazione del nonce segue il pattern dal documento di React Native Google Sign In va a Supabase’s:

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

Sezione intitolata “Ripresa Automatica”

L'implementazione include logica di ripresa automatica:

Automatic Retry

  • Se la validazione del JWT fallisce all'atto primo, si esce e si riprova una volta
  • Questo gestisce casi in cui i token memorizzati potrebbero avere nonci sbagliati
  • Se anche la riprova 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 nonce: Controlla i log del console - la funzione riproverà automaticamente, ma puoi uscire manualmente se necessario
  • Fallimento della validazione del token: Assicurati di utilizzare mode: 'online' in l'invocazione di inizializzazione per ottenere un idToken
  • Rivedi il esempio di applicazione code per riferimento