Apple Sign-In-Migration zu @capgo/social-login
Kopieren Sie einen Setup-Vorschlag mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin.
Übersicht
Abschnitt mit dem Titel „Übersicht“Diese Anleitung beschreibt die Übergang vom alten Plugin zum modernen @capacitor-community/apple-sign-in Erweiterung zur 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
Entfernen Sie das alte Paket:-
Entfernen Sie das alte Paket: __CAPGO_KEEP_0__
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“Importieren Sie Änderungen
Abschnitt mit dem Titel „Importieren Sie Änderungen“import { SignInWithApple } from '@capacitor-community/apple-sign-in';import { SocialLogin } from '@capgo/capacitor-social-login';Initialisierung
Abschnitt mit dem Titel „Initialisierung“Key Änderung: Die neue Erweiterung erfordert einen Initialisierungsprozess, der vorher nicht erforderlich war.
// 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 müssen Sie grundlegende Konfigurationen bereitstellen, 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 Erweiterung verwendet login() mit provider: 'apple' und optionalen Berechtigungen anstatt einzelne Konfigurationswerte wie clientId und redirectURI.
Änderungen im Antworttyp
Abschnitt mit dem Titel „Änderungen im Antworttyp“Ergebnisse werden nun einen accessToken Abschnitt, der die flachere Antwortformat des Originalpaketes ersetzt: profile Abschnitt, durch den Austausch der flacheren Antwortformat des Originalpaketes:
// 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
Section titled “New Capabilities”Die aktualisierte Erweiterung bietet Funktionen, die in der Vorgängerversion nicht verfügbar waren:
Status der Anmeldung überprüfen
// Not available in old packageconst status = await SocialLogin.isLoggedIn({ provider: 'apple'});Abmelden-Funktion
// Not available in old packageawait SocialLogin.logout({ provider: 'apple'});Diese Methoden bieten isLoggedIn() um die Authentifizierungsstatus zu überprüfen und logout() Funktionen.
Plattformspezifische Änderungen
Abschnitt mit dem Titel „Plattformspezifische Änderungen“iOS-Einrichtung
Abschnitt mit dem Titel „iOS-Einrichtung“iOS behält die bekannten Einrichtungsverfahren durch Xcode-Funktionen bei:
- Die iOS-Einrichtung bleibt größtenteils gleich. Sie müssen immer noch:
- Aktivieren Sie die „Mit Apple anmelden“-Fähigkeit in Xcode
- Konfigurieren Sie Ihre App im Apple-Entwicklerportal
- No additional code changes required for iOS
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 eine Services-ID im Apple-Entwicklerportal
- Eine Web-Authentifizierungs-Endpunkt konfigurieren
- Konfigurieren Sie Ihre Android-App zum Umgang mit dem OAuth-Flow
- Die Konfiguration des Backend-Dienstes ist erforderlich
Für detaillierte Anweisungen zur Android-Konfiguration, zögern Sie bitte zu den Android-Konfigurationsanleitung.
Hauptvorteile
Abschnitt mit dem Titel „Hauptvorteile“Das 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 Web-basierte Authentifizierung
- Verwaltung des persistierenden Loginzustands
- Bessere Fehlerbehandlung mit konsistenten Fehlerarten
Änderungen mit Auswirkungen auf die Kompatibilität
Section titled “Breaking Changes”- Eine explizite Initialisierung ist jetzt erforderlich - keine Standardkonfiguration
- Die Struktur des Antwortobjekts wurde geändert - formatierte Ergebnisse in der NESTED-Struktur
- Die Android-Implementierung erfordert einen Backend-Dienst für OAuth
- Token refresh handling ist anders - Verbesserte Token-Verwaltung
- Fehlerbehandlung und Fehlerarten haben sich geändert - Detailliertere Fehlermeldungen
Für detailliertere Anweisungen zur Einrichtung, zögern Sie bitte zu den offiziellen Dokumentationen.
Weitergehen Sie von der Migration Apple Sign-In zu @capgo/social-login
Abschnitt mit dem Titel “Weitergehen Sie von der Migration Apple Sign-In zu @capgo/social-login”Wenn Sie Live Update verwenden Apple Sign-In-Migration zu @capgo/social-login 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, @capgo/capacitor-Social-Login für die Implementierungsdetails in @capgo/capacitor-social-login, @capgo/capacitor-Passwort 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.