Migration zu Apple Sign-In zu @capgo/social-login
Ein Setup-Prompt mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Übersicht
Abschnitt mit dem Titel „Übersicht“Diese Anleitung beschreibt 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“-
Entferne das alte Paket:
Terminalfenster npm uninstall @capacitor-community/apple-sign-in -
Install die 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”Schlüsseländerung: Die neue Plugin erfordert einen Initialisierungsschritt, 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' }});Der neue Plugin verwendet login() mit provider: 'apple' und optionalen Berechtigungen anstatt einzelne Konfigurationswerte wie clientId und redirectURI.
Änderungen im Antworttyp
Abschnitt mit dem Titel „Änderungen der Antworttypen“Ergebnisse umfassen nun ein accessToken Objekt mit Ablaufdaten und einem strukturierten profile Abschnitt, der den flachen 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
Abschnitt mit dem Titel „Neue Funktionen“Das aktualisierte Plugin bietet Funktionen, die in seinem Vorgänger nicht verfügbar waren:
Anmeldung überprüfen
// Not available in old packageconst status = await SocialLogin.isLoggedIn({ provider: 'apple'});Ablaufdatum
// Not available in old packageawait SocialLogin.logout({ provider: 'apple'});Diese Methoden bieten isLoggedIn() um die Authentifizierungsstatus zu überprüfen und logout() Funktionalität.
Plattformspezifische Änderungen
Abschnitt mit dem Titel “Plattformspezifische Änderungen”iOS-Einrichtung
Abschnitt mit dem Titel “iOS-Einrichtung”iOS wird durch Xcode-Funktionen bekannte Einrichtungsverfahren aufrechterhält:
- Die iOS-Einrichtung bleibt weitgehend gleich. Sie müssen immer noch:
- Die Funktion „Anmeldung mit Apple“ in Xcode aktivieren
- Ihre App in der Apple-Entwickler-Portal konfigurieren
- No zusätzliche code Änderungen erforderlich für 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:
- Einen Services-ID in der Apple-Entwickler-Portal erstellen
- Eine Web-Authentifizierungs-Endpunkt konfigurieren
- Ihr Android-App zum Handling des OAuth-Flusses einrichten
- Eine Backend-Dienst-Konfiguration ist erforderlich
Für detaillierte Anweisungen zur Android-Einrichtung, wenden Sie sich bitte an die Anleitung zur Android-Einrichtung.
Der modernisierte Paket bietet:
- Eingebettete 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
- Verwaltung des persistierenden Login-Zustands
- 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 - formatierte Ergebnisse
- Für die Android-Implementierung ist ein Backend-Service erforderlich für OAuth
- Die Token-Refresh-Verwaltung ist anders - verbesserte Token-Verwaltung
- Fehlerbehandlung und Fehlerarten haben sich geändert - detailliertere Fehler
Für detailliertere Einrichtungsanweisungen, zögern Sie bitte zur offiziellen Dokumentation.
Gehen Sie weiter von der Apple-Sign-In-Migration zu @capgo/social-login
Abschnitt mit dem Titel “Gehen Sie weiter von der 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