Zum Inhalt springen

Supabase Google Login auf Android

GitHub

Diese Anleitung hilft Ihnen dabei, Google Sign-In mit Supabase Authentication auf Android zu integrieren. Es wird angenommen, dass Sie bereits folgende Schritte abgeschlossen haben:

Die vollständige Implementierung ist im Beispiel-App’s supabaseAuthUtils.ts Datei. Diese Anleitung erklärt die wichtigsten Konzepte und wie man sie verwendet.

Die authenticateWithGoogleSupabase Funktion handhabt den gesamten Authentifizierungsfluss:

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

Für eine detaillierte Erklärung des Authentifizierungsflusses, einschließlich der Nonce-Generierung, JWT-Validierung und Supabase-Anmeldung, siehe den Abschnitt Wie es funktioniert im General Setup-Leitfaden.

Für die vollständige code-Referenz, siehe den Vollständigen Code-Referenzabschnitt im General Setup-Leitfaden.

Die Nonce-Implementierung folgt dem Muster aus der React Native Google Sign In-Dokumentation geht zu Supabase’s:

  • rawNonce Supabase erstellt einen Hash von signInWithIdToken()
  • und vergleicht ihn mit dem rawNonce der im ID-Token von Google Sign-In enthalten ist nonceDigest (SHA-256-Hash, hex-kodiert) geht zum
  • nonceDigest Parameter in den Google Sign-In-APIs nonce Parameter in den Google Sign-In-APIs

Automatische Wiederholung

Abschnitt: Automatische Wiederholung

Die Implementierung beinhaltet eine automatische Wiederholungslogik:

  • Wenn die JWT-Validierung auf der ersten Versuch fehlschlägt, wird abgemeldet und einmal wiederholt
  • Dies handhabt Fälle, in denen die gecachte Tokens möglicherweise falsche Nonces haben
  • Wenn auch die Wiederholung fehlschlägt, wird ein Fehler zurückgegeben

Wenn die Authentifizierung fehlschlägt:

  • Ungültiger Zuhörer: Überprüfen Sie, ob Ihre Google Client IDs in beiden Google Cloud Console und Supabase übereinstimmen
  • Nonce-Mismatch: Überprüfe die Konsole - die Funktion wird automatisch wiederholt, aber du kannst dich manuell ausloggen, wenn nötig
  • Fehler bei der Token-Validierung: Stelle sicher, dass du mode: 'online' in der Initialisierung aufrufst, um einen idToken zu erhalten
  • Beziehe dich auf das Beispiel __CAPGO_KEEP_0__ example app code Fortschritte von Supabase Google Login auf Android

Abschnitt mit dem Titel “Fortschritte von Supabase Google Login auf Android”

Wenn du

Supabase Google Login auf Android für die Planung der Authentifizierung und der Kontoflows verwendest verbinde es mit Mit @capgo/capacitor-social-login für die native Fähigkeit in Mit @capgo/capacitor-social-login, @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-social-login, @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric für die Implementierungsdetails in @capgo/capacitor-native-biometric, und Zwei-Faktor-Authentifizierung für die Implementierungsdetails in Zwei-Faktor-Authentifizierung.