Migrazione di 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
Sezione intitolata “Panoramica”Questa guida descrive la transizione dalla versione legacy @capacitor-community/apple-sign-in plugin al pacchetto moderno @capgo/capacitor-social-login Il nuovo plugin fornisce un'interfaccia unificata per più provider di autenticazione sociale con supporto migliorato per TypeScript e manutenzione attiva.
Installazione
Sezione intitolata “Installazione”-
Elimina il vecchio pacchetto:
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 modifica: Il nuovo plugin 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, fornite una configurazione di base, mentre l'Android richiede ulteriori dettagli, inclusa una chiave di servizio e l'URL di callback del backend per l'autenticazione OAuth basata su web.
Il processo di accesso si semplifica da più parametri 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' }});Il nuovo plugin utilizza login() con provider: 'apple' Ecco le opzioni di ambito facoltative anziché passare singoli valori di configurazione come clientId e redirectURI.
Tipo di Risposta Modificato
Sottosezione intitolata “Tipo di Risposta Modificato”I risultati includono ora un accessToken oggetto con dettagli di scadenza e una struttura profile sezione, sostituendo il formato di risposta più lineare 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à
Sottosezione intitolata “Nuove Funzionalità”L'aggiornamento del plugin 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 della piattaforma
Sezione intitolata “Modifiche specifiche della piattaforma”Configurazione di iOS
Sezione intitolata “Configurazione di iOS”iOS mantiene procedure di configurazione familiari grazie alle capacità di Xcode:
- The impostazione iOS rimane sostanzialmente la stessa. Ancora hai bisogno di:
- Abilita la capacità di 'Accedi con Apple' in Xcode
- Configura la tua app 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:
La nuova estensione fornisce il supporto Android in modo predefinito, ma richiede una configurazione aggiuntiva:
- Creare un ID Servizi nel Portale dello Sviluppatore Apple
- Configura un endpoint di autenticazione web
- Configura la tua app Android per gestire il flusso OAuth
- È richiesta la configurazione del servizio backend
Per ulteriori istruzioni di configurazione per Android, si prega di consultare il Guida di configurazione per Android.
Vantaggi chiave
Sezione intitolata “Vantaggi chiave”Il pacchetto modernizzato fornisce:
- API unificate su più provider sociali (Google, Facebook, Apple)
- Tipi di tipo migliorati con definizioni di tipo migliori
- Manutenzione della community attiva rispetto alla versione deprecata
- Supporto Android integrato autenticazione basata su web
- Gestione dello stato di accesso persistente
- Miglioramento del trattamento degli errori con tipi di errore coerenti
Cambiamenti significativi
Sezione intitolata “Cambiamenti significativi”- L'inizializzazione esplicita è ora richiesta - nessuna configurazione predefinita
- La struttura dell'oggetto di risposta è cambiata - formato di risultato nidificato
- La implementazione Android richiede un servizio backend per OAuth
- Il gestione dei token è diversa - gestione dei token migliorata
- La gestione degli errori e i tipi di errore sono cambiati - errori più dettagliati
Per ulteriori istruzioni di configurazione dettagliate, si prega di consultare il documento ufficiale.
Continua da Apple Sign-In Migration a @capgo/social-login
Sezione 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 i flussi di account, connettilo con Usando @capgo/capacitor-login sociale per la capacità nativa in Usando @capgo/capacitor-login sociale, @capgo/capacitor-login sociale per il dettaglio di implementazione in @capgo/capacitor-login sociale, @capgo/capacitor-passkey per il dettaglio di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-biometria nativa per il dettaglio di implementazione in @capgo/capacitor-biometria nativa, e Autenticazione a due fattori per il dettaglio di implementazione in Autenticazione a due fattori.