Migration zu Apple Sign-In bis @capgo/social-login
Kopiere einen Einrichtungsbefehl mit den Installationsanweisungen und der vollständigen Markdown-Guide für diesen Plugin.
Übersicht
Abschnitt mit dem Titel „Übersicht“Diese Anleitung beschreibt die Übergang von der Legacy-Version. @capacitor-community/apple-sign-in Plugin 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
Abschnitt „Installation“-
Den alten Paket entfernen:
Terminalfenster npm uninstall @capacitor-community/apple-sign-in -
Das neue Paket installieren:
Terminalfenster npm install @capgo/capacitor-social-loginnpx cap sync
Code Änderungen
Abschnitt „Code Änderungen“Änderungen importieren
Abschnitt: "Änderungen importieren"import { SignInWithApple } from '@capacitor-community/apple-sign-in';import { SocialLogin } from '@capgo/capacitor-social-login';Initialisierung
Abschnitt: "Initialisierung"Schlüsseländerung: Die neue Erweiterung erfordert einen Initialisierungsschritt, 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 }});Wichtige Hinweise: Für iOS bereitstellen Sie grundlegende Konfigurationen, während Android zusätzliche Details erfordert, einschließlich einer Service-ID und einer Backend-Callback-URL für webbasierte OAuth-Anmeldung.
Anmeldung
Abschnitt: "Anmeldung"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 eine strukturierte profile Abschnitt, anstatt der flachen 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
Abschnitt: Neue FunktionenDie aktualisierte Erweiterung bietet Funktionen, die in ihrem Vorgänger nicht verfügbar waren:
Anmeldungsstatus ü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.
Plattformspezifische Änderungen
Abschnitt: Plattformspezifische ÄnderungeniOS-Einrichtung
Abschnitt mit dem Titel „iOS-Einrichtung‟iOS pflegt bekannte Einrichtungsverfahren durch Xcode-Fähigkeiten:
- Die iOS-Einrichtung bleibt größtenteils unverändert. Sie benötigen 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:
The neue Plugin bietet Android-Unterstützung direkt, erfordert jedoch zusätzliche Einstellungen:
- Erstellen Sie einen Services-Id im Apple-Entwicklerportal
- Konfigurieren Sie einen Web-Auth-Endpunkt
- Konfigurieren Sie Ihr Android-App, um den OAuth-Flow zu verarbeiten
- Die Konfiguration des Backend-Dienstes ist erforderlich
Für detaillierte Anweisungen zum Android-Setup, zögern Sie bitte den Anleitung zum Android-Setup.
Das modernisierte Paket bietet:
- Einheitliche APIs über mehrere soziale Anbieter (Google, Facebook, Apple)
- Verbesserte TypeScript-Typen mit besseren Typdefinitionen
- Aktive Community-Wartung im Vergleich zur veralteten Version
- Eingebettete Android-Unterstützung durch webbasierte Authentifizierung
- persistente Anmeldezustand-Verwaltung
- 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 des Antwortobjekts wurde geändert - formatierte Ergebnisse
- Für die Android-Implementierung ist ein Backend-Service erforderlich zur OAuth-Anmeldung
- Die Token-Refresh-Verwaltung ist anders - verbesserte Token-Verwaltung
- Die Fehlerbehandlung und Fehlerarten wurden geändert - detailliertere Fehlermeldungen
Für detailliertere Einrichtungsanweisungen wenden Sie sich bitte an die offizielle Dokumentation.
Fortsetzen Sie von der Apple-Sign-In-Migration bis @capgo/social-login
Abschnitt mit dem Titel “Weitermachen von der Apple Sign-In-Migration zu @capgo/social-login”Wenn Sie " Apple Sign-In-Migration zu @capgo/social-login um die Authentifizierung und die Kontoflows zu planen, verbinden Sie es mit Mit @capgo/capacitor-social-login zur nativen Fähigkeit in Mit @capgo/capacitor-social-login, @capgo/capacitor-social-login zur Implementierungsdetails in @capgo/capacitor-social-login, @capgo/capacitor-passkey zur Implementierungsdetails in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric zur Implementierungsdetails in @capgo/capacitor-native-biometric und Zweifaktor-Authentifizierung für die Implementierungsdetails in der Zweifaktor-Authentifizierung.