Zum Inhalt springen

Einrichten von Supabase Apple Login auf iOS

GitHub

Dieses Handbuch hilft Ihnen dabei, Apple Sign-In mit Supabase-Authentifizierung auf iOS zu integrieren. Es wird davon ausgegangen, dass Sie bereits folgende Schritte abgeschlossen haben:

Die vollständige Implementierung ist im Datei des Beispiel-Apps supabaseAuthUtils.ts Dieses Handbuch erklärt die wichtigsten Konzepte und zeigt, wie es verwendet werden kann.

Die authenticateWithAppleSupabase Die Funktion verarbeitet den gesamten Authentifizierungsprozess.

import { authenticateWithAppleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithAppleSupabase();
if (result.success) {
console.log('Signed in:', result.user);
// Navigate to your authenticated area
} else {
console.error('Error:', result.error);
}

Bei iOS verwendet Apple Sign-In die native Implementierung:

  1. Initialisierung: Die Erweiterung verwendet automatisch die Bundle-ID Ihrer App (keine clientId benötigte)
  2. Native Sign-In: Verwendet die native Apple-Sign-in-Schaltfläche und Authentifizierungsablauf von Apple
  3. Identitäts-Token: Apple gibt ein Identitäts-Token (JWT) mit Benutzerinformationen zurück
  4. Supabase-Authentifizierung: Das Identitäts-Token wird an Supabase übermittelt mithilfe signInWithIdToken()

Die Hilfsfunktion erkennt automatisch die iOS-Plattform und konfiguriert alles entsprechend.

  • iOS verwendet Ihre App-Bundle-ID automatisch für Apple Sign-In
  • Stellen Sie sicher, dass Ihre Bundle-ID mit der im Apple Developer Portal konfigurierten übereinstimmt
  • Die Bundle-ID sollte die "Sign in with Apple"-Fähigkeit aktiviert haben

In Supabase konfigurieren Sie Ihren Apple-Anbieter wie folgt:

  • Kunden-ID: Ihre iOS-App-ID (Bundle-ID) - z.B. app.capgo.plugin.SocialLogin

Wenn Sie auch Android/Web verwenden, müssen Sie sowohl die App-ID als auch die Service-ID in der Client-ID-Feld von Supabase (getrennt durch Kommas) bereitstellen.

Wenn die Authentifizierung fehlschlägt:

  • Bundle-ID-Konflikt: Überprüfen Sie, ob die Bundle-ID in Xcode und im Apple-Entwicklerportal übereinstimmt
  • Fähigkeit nicht aktiviertStelle sicher, dass die Funktion „Mit Apple anmelden“ in Xcode aktiviert ist.
  • Supabase-Konfiguration: Überprüfen Sie, ob die App-ID in den Apple-Einstellungen von Supabase korrekt konfiguriert ist
  • Token-Validierung fehlschlägt: Überprüfen Sie, ob der Identitäts-Token von Apple empfangen wird
  • Überprüfen Sie das Beispiel-App code zur Referenz

Wenn Sie Live Update verwenden Apple-Login-Einrichtung für Supabase auf iOS um Authentifizierung und Account-Flüsse zu planen, verbinden Sie es mit Verwendung von @capgo/capacitor-social-login für die native Fähigkeit in Verwendung von @capgo/capacitor-Social-Login, zur Implementierungsdetail in @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-biometrisch für die Implementierungsdetails in @capgo/capacitor-native-biometric und Zwei-Faktor-Authentifizierung für die Implementierungsdetails in Zwei-Faktor-Authentifizierung