Migration zu Apple Sign-In bis @capgo/social-login
Kopieren Sie einen Einrichtungsvorschlag mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin.
Übersicht
ÜbersichtDiese Anleitung beschreibt die Übergang vom alten Plugin zum modernen @capacitor-community/apple-sign-in Das neue Plugin bietet eine einheitliche Schnittstelle für mehrere soziale Authentifizierungsanbieter mit verbessertem TypeScript-Unterstützung und aktiver Wartung. @capgo/capacitor-social-login Installation
Installation
Entferne das alte Paket:-
Terminalfenster
Zur Vervollständigung in die Zwischenablage kopieren npm uninstall @capacitor-community/apple-sign-in -
Terminalfenster
Zur Vervollständigung in die Zwischenablage kopieren 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 Erweiterung erfordert einen Initialisierungsstep, 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 }});Wichtige Anmerkung: Für iOS bereitstellen Sie grundlegende Konfiguration, 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 des Antworttyps
Abschnitt mit dem Titel „Änderungen des Antworttyps”Die Ergebnisse umfassen nun ein accessToken Objekt mit Ablaufdaten und einem strukturierten profile Abschnitt, der 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
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'});Abmeldefunktion
// Not available in old packageawait SocialLogin.logout({ provider: 'apple'});Diese Methoden liefern isLoggedIn() um die Authentifizierungsstatus zu überprüfen und logout() Funktionen.
Plattform-spezifische Änderungen
Abschnitt mit dem Titel „Plattform-spezifische Änderungen”iOS-Einrichtung
Abschnitt mit dem Titel „iOS-Einrichtung”iOS iOS behält die bekannten Einrichtungsverfahren durch Xcode-Funktionen bei:
- Die iOS-Einrichtung bleibt weitgehend unverändert. Sie müssen immer noch:
- Die Funktion „Anmeldung mit Apple“ in Xcode aktivieren
- Ihre App in der Apple-Entwickler-Portal konfigurieren
- Keine zusätzlichen 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, erfordert jedoch zusätzliche Einstellungen:
- Erstellen Sie einen Services-ID im Apple Developer Portal
- Konfigurieren Sie einen Web-Authentifizierungs-Endpunkt
- Die Einrichtung Ihres Android-Apps zum Handling des OAuth-Flusses
- Die Konfiguration des Backend-Dienstes ist erforderlich
Für detaillierte Anweisungen zur Android-Einrichtung, zitieren Sie bitte die Anleitung zur Android-Einrichtung.
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 webbasierte Authentifizierung
- Verwaltung des persistierenden Login-Zustands
- Bessere Fehlerbehandlung mit konsistenten Fehlerarten
Änderungen mit Auswirkungen auf die Kompatibilität
Abschnitt mit dem Titel “Änderungen mit Auswirkungen auf die Kompatibilität”- Eine explizite Initialisierung ist jetzt erforderlich - keine Standardkonfiguration
- Die Struktur der Antwortobjekte hat sich geändert - formatierte Ergebnisse in der Ergebnisstruktur
- Für die Android-Implementierung ist ein Backend-Service erforderlich für OAuth
- Die Token-Refresh-Verwaltung ist anders - verbesserte Token-Verwaltung
- Die Fehlerbehandlung und die Fehlerarten haben sich geändert - detailliertere Fehlermeldungen
Für detailliertere Anweisungen zur Einrichtung, zögern Sie bitte, sich an die Anleitung auf GitHub zu wenden offizielle Dokumentation.
Weitermachen von der Migration zu Apple Sign-In bis @capgo/social-login
Abschnitt mit dem Titel “Weitermachen von der Migration zu Apple Sign-In bis @capgo/social-login”Wenn Sie Migration zu Apple Sign-In bis @capgo/social-login zur 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 Authentifizierung für die Implementierungsdetails in @capgo/capacitor-native-biometrische Authentifizierung, und Zweifaktor-Authentifizierung für die Implementierungsdetails in Zweifaktor-Authentifizierung.