Zum Inhalt springen

Supabase Google Login auf Android

GitHub

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

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

Authentifizierungshilfe verwenden

Abschnitt: Authentifizierungshilfe verwenden

Die authenticateWithGoogleSupabase Funktion handhabt den gesamten Authentifizierungsprozess:

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 die Authentifizierungsabläufe funktionieren, einschließlich der Nonce-Generierung, der JWT-Validierung und der Supabase-Anmeldung, siehe die Wie es funktioniert Abschnitt im Allgemeinen Setup-Leitfaden.

Für die vollständige code-Dokumentation, siehe die Vervollständige die Code-Referenz im Allgemeinen Setup-Leitfaden.

Die Nicht-Null-Implementierung folgt dem Muster aus dem Abschnitt mit dem Titel “Wichtige Hinweise”:

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

Die Implementierung enthält eine automatische Wiederholungslogik:

  • Bei Fehlschlag der JWT-Validierung bei der ersten Anfrage wird abgemeldet und einmal wiederholt
  • Dies handhabt Fälle, bei denen sich in den gecacheten Tokens falsche Nonces befinden
  • Bei Fehlschlag der Wiederholung 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-Anzeigen - die Funktion wird automatisch wiederholt, aber Sie können sich manuell abmelden, wenn erforderlich
  • Token-Validierung fehlschlägt: Stellen Sie sicher, dass Sie mode: 'online' in the initialize call to get an idToken
  • den Beispiel-App code zur Referenz

Wenn Sie Live Update verwenden Supabase Google Login auf Android zur Planung der Authentifizierung und der Kontoflows verwenden Verwendung von @capgo/capacitor-social-login für die native Fähigkeit in Verwendung von @capgo/capacitor-Social-Login, @capgo/capacitor-Social-Login für die Implementierungsdetails in @capgo/capacitor-Social-Login, zur Implementierungsdetail in @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-Passkey, @capgo/capacitor-native-biometrisch zur Implementierungsdetail in @capgo/capacitor-native-biometric, und Zwei-Faktor-Authentifizierung zur Implementierungsdetail in Zwei-Faktor-Authentifizierung.