Migrazione Apple Sign-In a @capgo/social-login
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Panoramica
Sottosezione intitolata “Panoramica”Questa guida descrive la transizione dal plugin legacy al pacchetto moderno. @capacitor-community/apple-sign-in Il nuovo plugin fornisce un'interfaccia unificata per più provider di autenticazione sociale con supporto migliorato per TypeScript e manutenzione attiva. @capgo/capacitor-social-login Installazione
Sottosezione intitolata “Installazione”
Elimina il vecchio pacchetto:-
__CAPGO_KEEP_0__
Finestra del terminale npm uninstall @capacitor-community/apple-sign-in -
Installa il nuovo pacchetto:
Finestra del terminale npm install @capgo/capacitor-social-loginnpx cap sync
Code Modifiche
Sezione intitolata “Code Modifiche”Importa Modifiche
Sezione intitolata “Importa Modifiche”import { SignInWithApple } from '@capacitor-community/apple-sign-in';import { SocialLogin } from '@capgo/capacitor-social-login';Inizializzazione
Sezione intitolata “Inizializzazione”Chiave di modificaLa nuova estensione richiede un passaggio di inizializzazione che non era necessario prima.
// 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 }});Nota importante : Per iOS, fornisci una configurazione di base, mentre Android richiede ulteriori dettagli, inclusa un ID di servizio e un URL di callback backend per l'autenticazione OAuth basata su web.
Il processo di accesso si semplifica da parametri multipli a una API: più pulita.
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' }});La nuova estensione utilizza login() con provider: 'apple' e opzionali ambiti anziché passare valori di configurazione individuali come clientId e redirectURI.
Tipo di Risposta Modificato
Sezione intitolata “Tipo di Risposta Modificato”I risultati includono ora un accessToken oggetto con dettagli di scadenza e una struttura profile sezione, che sostituisce il formato di risposta più semplice del pacchetto originale:
// 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; }; };}Nuove Funzionalità
Sezione intitolata “Nuove Funzionalità”Il plugin aggiornato introduce funzionalità che non erano disponibili nel predecessore:
Verifica dello Stato di Accesso
// Not available in old packageconst status = await SocialLogin.isLoggedIn({ provider: 'apple'});Funzionalità di Logout
// Not available in old packageawait SocialLogin.logout({ provider: 'apple'});Questi metodi forniscono isLoggedIn() per verificare lo stato di autenticazione e logout() funzionalità.
Modifiche Specifiche per Piattaforma
Sezione intitolata “Modifiche Specifiche per Piattaforma”Setup iOS
Sezione intitolata “Setup iOS”iOS mantiene procedure di setup familiari attraverso le capacità di Xcode:
- La configurazione iOS rimane sostanzialmente la stessa. È ancora necessario:
- Abilita la capacità di accedere con Apple in Xcode
- Configura il tuo'applicazione nel Portale dello Sviluppatore Apple
- Non sono richieste ulteriori code modifiche per iOS
Configurazione Android
Sottosezione intitolata “Configurazione Android”Android ora riceve il supporto nativo tramite l'autenticazione OAuth basata su web:
Il nuovo plugin fornisce il supporto Android di serie, ma richiede una configurazione aggiuntiva:
- Creare un ID Servizi nel Portale dello Sviluppatore Apple
- Configura un endpoint di autenticazione web
- Configura il tuo'app Android per gestire il flusso OAuth
- È richiesta la configurazione del servizio backend
Per ulteriori istruzioni di configurazione Android, si prega di consultare il Guida di configurazione Android.
Vantaggi chiave
Sottosezione intitolata “Vantaggi chiave”La versione aggiornata del pacchetto fornisce:
- API unificate su più provider social (Google, Facebook, Apple)
- Migliorata tipizzazione TypeScript con migliori definizioni di tipo
- Mantenimento della community attiva rispetto alla versione deprecata
- Sostegno integrato per Android attraverso l'autenticazione basata sul web
- Gestione dello stato di accesso persistente
- Manutenzione degli errori migliorata con tipi di errore coerenti
Modifiche significative
Sottosezione intitolata “Modifiche significative”- E' ora richiesta l'inizializzazione esplicita - nessuna configurazione predefinita
- La struttura dell'oggetto di risposta è cambiata - formato di risultato nidificato
- La implementazione Android richiede un servizio backend per OAuth
- La gestione dei token è diversa - miglioramento della gestione dei token
- Il trattamento degli errori e i tipi di errore sono cambiati - errori più dettagliati
Per ulteriori istruzioni di configurazione dettagliate, si prega di consultare la documentazione ufficiale.
Continua da Apple Sign-In Migration a @capgo/social-login
Sottosezione intitolata “Continua da Apple Sign-In Migration a @capgo/social-login”Se stai utilizzando Apple Sign-In Migration a @capgo/social-login per pianificare l'autenticazione e le flussi di account, connettilo con Utilizzando @capgo/capacitor-social-login per la capacità nativa in Utilizzare @capgo/capacitor-login-social, @capgo/capacitor-login-social per il dettaglio di implementazione in @capgo/capacitor-login-social, @capgo/capacitor-passkey per il dettaglio di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-biometric-nativo per il dettaglio di implementazione in @capgo/capacitor-biometric-nativo, e Autenticazione a due fattori per il dettaglio di implementazione in Autenticazione a due fattori.