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 davon ausgegangen, dass Sie bereits folgende Schritte abgeschlossen haben:

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

Mit dem Authentifizierungs-Helfer

Abschnitt: Mit dem Authentifizierungs-Helfer

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, wie der Authentifizierungsfluss funktioniert, einschließlich der Nonce-Generierung, der JWT-Validierung und der Supabase-Anmeldung, siehe den Abschnitt "Wie es funktioniert" im General Setup-Leitfaden Wie es funktioniert.

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

Die Nonce-Implementierung folgt dem Muster aus der React Native Google Sign In-Dokumentation:

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

Die Implementierung enthält eine automatische Wiederholungslogik:

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

Wenn die Authentifizierung fehlschlägt:

  • Ungültige Zielgruppe: Überprüfen Sie, ob Ihre Google-Kunden-IDs in beiden Google Cloud Console und Supabase übereinstimmen
  • Nonce-Mismatch: Überprüfen Sie die Konsole-Anmeldungen - die Funktion wird automatisch wiederholt, aber Sie können sich manuell abmelden, wenn erforderlich
  • Fehler bei der Token-Validierung: Stellen Sie sicher, dass Sie mode: 'online' in der Initialisierungsrufe einen idToken erhalten
  • Betrachten Sie das Beispiel-App code als Referenz

Fortsetzen Sie von Supabase Google Login auf Android

Bleiben Sie bei Supabase Google Login auf Android

Wenn Sie " Supabase Google Login auf Android für die Planung der Authentifizierung und der Kontoflows verwenden, verbinden Sie es mit Mit @capgo/capacitor-social-login für die native Fähigkeit in Mit @capgo/capacitor-social-login Mit @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-social-login, Mit @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey, Mit @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.