Zum Inhalt springen

Supabase Apple Login auf iOS Setup

GitHub

Diese Anleitung hilft Ihnen bei der Integration von Apple Sign-In mit Supabase Authentication auf iOS. Es wird angenommen, dass Sie bereits folgende Schritte abgeschlossen haben:

Implementierung

Implementierung

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.

Die authenticateWithAppleSupabase Funktion handhabt 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 Eingabe erforderlich)
  2. Native Anmeldung: Verwendet Apples native Anmeldung mit Apple-Button und Authentifizierungsablauf
  3. Identitäts-Token: Apple gibt ein Identitäts-Token (JWT) mit Benutzerinformationen zurück
  4. Supabase-Anmeldung: Das Identitäts-Token wird an Supabase gesendet signInWithIdToken()

Der Hilfsfunktion wird automatisch die iOS-Plattform erkannt 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 mit:

  • Client-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 Supabase's Client-ID-Feld (komma-getrennt) angeben

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 aktiviert: Stellen Sie sicher, dass die Fähigkeit „Anmeldung mit Apple“ in Xcode aktiviert ist
  • Supabase-Konfiguration: Überprüfen Sie, ob die App-ID in den Supabase-Einstellungen für den Apple-Anbieter korrekt konfiguriert ist
  • Token-Validierung fehlschlägt: Überprüfen Sie, ob der Identitäts-Token von Apple empfangen wird
  • Betrachten Sie das Beispiel-App code für Referenz

Wenn Sie Supabase Apple Login auf iOS Setup 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, @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-biometrische für die Implementierungsdetails in @capgo/capacitor-native-biometrische, und Zwei-Faktor-Authentifizierung für die Implementierungsdetails in Zwei-Faktor-Authentifizierung.