Apple Sign-In-Migration zu @capgo/social-login
Einen Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Übersicht
Abschnitt mit dem Titel „Übersicht“Diese Anleitung skizziert die Übergang vom alten @capacitor-community/apple-sign-in Plugin zum modernen @capgo/capacitor-social-login Paket. Das neue Plugin bietet eine einheitliche Schnittstelle für mehrere soziale Authentifizierungsanbieter mit verbessertem TypeScript-Unterstützung und aktiver Wartung.
Installation
Abschnitt mit dem Titel „Installation“-
Entfernen Sie das alte Paket:
Terminalfenster npm uninstall @capacitor-community/apple-sign-in -
Installieren Sie das neue Paket:
Terminalfenster npm install @capgo/capacitor-social-loginnpx cap sync
Code Änderungen
Abschnitt mit dem Titel „Code Änderungen“Änderungen importieren
Abschnitt mit dem Titel „Änderungen importieren“import { SignInWithApple } from '@capacitor-community/apple-sign-in';import { SocialLogin } from '@capgo/capacitor-social-login';Initialisierung
Abschnitt mit dem Titel „Initialisierung“Schlüsseländerung: Die neue Plugin erfordert einen Initialisierungs-Schritt, der vorher nicht benötigt wurde.
// No initialization needed in old package// For iOS: Basic configurationawait SocialLogin.initialize({ apple: {} // Basic iOS configuration});
// For Android: Additional configuration requiredawait SocialLogin.initialize({ apple: { clientId: 'YOUR_SERVICE_ID', // Service ID from Apple Developer Portal redirectUrl: 'https://your-backend.com/callback' // Your backend callback URL }});Wichtiger Hinweis: Für iOS bereitstellen Sie grundlegende Konfigurationen, während Android zusätzliche Details erfordert, einschließlich einer Service-ID und einem Backend-Callback-URL für webbasierte OAuth-Authentifizierung.
Der Anmeldevorgang vereinfacht sich von mehreren Parametern zu einem sauberen API:
const result = await SignInWithApple.authorize({ clientId: 'com.your.app', redirectURI: 'https://your-app.com/callback', scopes: 'email name', state: '12345', nonce: 'nonce'});
const result = await SocialLogin.login({ provider: 'apple', options: { // Optional: Add scopes if needed scopes: ['email', 'name'], nonce: 'nonce' }});Die neue Plugin verwendet login() mit provider: 'apple' und optionalen Berechtigungen anstatt einzelne Konfigurationswerte wie clientId und redirectURI.
Antworttyp-Änderungen
Sektion mit dem Titel „Antworttyp-Änderungen“Die Ergebnisse umfassen nun ein accessToken Objekt mit Ablaufdaten und einem strukturierten profile Sektion, die die flachere Antwortformat des Originalpaketes ersetzt:
// Old response typeinterface AppleSignInResponse { response: { user: string; email: string | null; givenName: string | null; familyName: string | null; identityToken: string | null; authorizationCode: string | null; };}
// New response typeinterface SocialLoginResponse { provider: 'apple'; result: { accessToken: { token: string; expiresIn?: number; refreshToken?: string; } | null; idToken: string | null; profile: { user: string; email: string | null; givenName: string | null; familyName: string | null; }; };}Neue Funktionen
Sektion mit dem Titel „Neue Funktionen“Die aktualisierte Erweiterung bietet Funktionen, die im Vorgänger nicht verfügbar waren:
Anmeldung überprüfen
// Not available in old packageconst status = await SocialLogin.isLoggedIn({ provider: 'apple'});Ausloggingsfunktion
// Not available in old packageawait SocialLogin.logout({ provider: 'apple'});Diese Methoden bieten isLoggedIn() um die Authentifizierungsstatus und logout() Funktionalität an.
Plattformspezifische Änderungen
Abschnitt mit dem Titel “Plattformspezifische Änderungen”iOS-Einrichtung
Abschnitt mit dem Titel “iOS-Einrichtung”iOS pflegt bekannte Einrichtungsverfahren durch Xcode-Funktionen:
- Die iOS-Einrichtung bleibt größtenteils unverändert. Sie müssen immer noch:
- Die Funktion „Anmelden mit Apple“ in Xcode aktivieren
- Konfigurieren Sie Ihre App im Apple-Entwicklerportal
- Für iOS sind keine zusätzlichen code Änderungen erforderlich
Android-Einrichtung
Abschnitt mit dem Titel „Android-Einrichtung“Android erhält nun native Unterstützung über webbasierte OAuth-Authentifizierung:
Das neue Plugin bietet Android-Unterstützung direkt aus der Box, erfordert jedoch zusätzliche Einrichtungen:
- Erstellen Sie einen Services-ID im Apple-Entwicklerportal
- Konfigurieren Sie einen Web-Authentifizierungs-Endpunkt
- Konfigurieren Sie Ihre Android-App zum Handling des OAuth-Flusses
- Die Konfiguration des Backend-Dienstes ist erforderlich
Für detaillierte Anweisungen zur Android-Einrichtung, zitieren Sie bitte die Dokumentation Android Einrichtungsanleitung.
Hauptvorteile
Abschnitt mit dem Titel „Hauptvorteile“Die modernisierte Paket bietet:
- Einheitliche APIs über mehrere soziale Anbieter (Google, Facebook, Apple)
- Verbesserte TypeScript-Typisierung mit besseren Typdefinitionen
- Aktive Wartung durch die Community im Vergleich zur veralteten Version
- Integrierte Android-Unterstützung durch webbasierte Authentifizierung
- persistenter Loginzustand
- Bessere Fehlerbehandlung mit konsistenten Fehlerarten
Änderungen im Quellcode
Abschnitt mit dem Titel “Änderungen im Quellcode”- Eine explizite Initialisierung ist jetzt erforderlich - keine Standardkonfiguration
- Die Struktur des Antwortobjekts hat sich geändert - formatiertes Ergebnis
- Die Android-Implementierung erfordert einen Backend-Dienst für OAuth
- Die Token-Refresh-Verarbeitung ist anders - verbesserte Token-Verwaltung
- Fehlerbehandlung und Fehlerarten haben sich geändert - detailliertere Fehler
Für detailliertere Einrichtungsanweisungen, zögern Sie bitte zu der offizielle Dokumentation.
Weitermachen von Apple Sign-In-Migration zu @capgo/social-login
Abschnitt mit dem Titel “Weitermachen von Apple Sign-In-Migration zu @capgo/social-login”Wenn Sie Apple Sign-In-Migration zu @capgo/social-login 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-biometric für die Implementierungsdetails in @capgo/capacitor-native-biometric, und Zwei-Faktor-Authentifizierung für die Implementierungsdetails in Zwei-Faktor-Authentifizierung.