Zum Inhalt springen

Supabase-Apple-Login-Einstellungen für iOS

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 Authentifizierungsfluss:

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

Auf iOS verwendet Apple Sign-In die native Implementierung:

  1. Initialisierung: Die Erweiterung verwendet Ihre App-Bundle-ID automatisch (kein clientId Eingabe von Benutzern
  2. : Verwendet Apples native Sign in with Apple-Button und AuthentifizierungsablaufIdentitäts-Token
  3. : Apple gibt ein Identitäts-Token (JWT) zurück, das Benutzerinformationen enthältSupabase-Authentifizierung
  4. : Das Identitäts-Token wird an Supabase gesendet mithilfeDie Hilfsfunktion erkennt automatisch die iOS-Plattform und konfiguriert alles entsprechend. signInWithIdToken()

Wichtige Hinweise

Abschnitt mit dem Titel "Wichtige Hinweise"

__CAPGO_KEEP_0__
  • 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 (getrennt durch Kommas) angeben

Wenn die Authentifizierung fehlschlägt:

  • Bundle-ID-Konflikt: Überprüfe, ob die Bundle-ID in Xcode und im Apple-Entwicklerportal übereinstimmt
  • Fähigkeit nicht aktiviert: Stelle sicher, dass die Fähigkeit „Anmeldung mit Apple“ in Xcode aktiviert ist
  • Supabase-Konfiguration: Überprüfe, ob die App-ID in den Supabase-Einstellungen für den Apple-Anbieter korrekt konfiguriert ist
  • Token-Validierung fehlschlägt: Überprüfe, ob der Identitäts-Token von Apple empfangen wird
  • Betrachte das Beispiel-App code Zur Referenz