Migrazione di Sign-In Apple a @capgo/social-login
Copia un prompt di installazione con le istruzioni di installazione e la guida markdown completa per questo plugin.
Panoramica
Sezione 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 i provider di autenticazione sociale con supporto migliorato per TypeScript e manutenzione attiva. @capgo/capacitor-social-login Installazione
Sezione intitolata “Installazione”
Elimina il vecchio pacchetto:-
Finestra del terminale
Copia negli appunti npm uninstall @capacitor-community/apple-sign-in -
Finestra del terminale
Copia negli appunti 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”Modifica Chiave: La 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, fornite una configurazione di base, mentre l'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 più parametri a un API: più pulito
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 opzioni di ambito facoltative al posto di passare valori di configurazione individuali come clientId e redirectURI.
Il tipo di risposta cambia
Sottosezione intitolata “I tipo di risposta cambia”I risultati includono ora un accessToken oggetto con dettagli di scadenza e una struttura organizzata profile Sezione, sostituisce il formato di risposta più piatto dell'originale pacchetto:
// 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à”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 per Piattaforma
Sezione intitolata “Modifiche Specifiche per Piattaforma”Configurazione iOS
Sezione intitolata “Configurazione iOS”iOS mantiene procedure di configurazione familiari grazie alle funzionalità di Xcode:
- La configurazione iOS rimane sostanzialmente la stessa. È ancora necessario:
- Abilitare la “capacità di accesso con Apple” in Xcode
- Configurare la tua app nel Portale dello Sviluppatore Apple
- Nessuna modifica aggiuntiva code richiesta per iOS
Configurazione Android
Sezione intitolata “Configurazione Android”Android ora riceve il supporto nativo tramite l'autenticazione OAuth basata su web:
Il nuovo plugin fornisce il supporto per Android in modo predefinito, ma richiede una configurazione aggiuntiva:
- Crea un ID Servizi nel Portale dello Sviluppatore Apple
- Configura un endpoint di autenticazione web
- È 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:Key Advantages
- 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 obsoleta
- Supporto Android integrato attraverso l'autenticazione basata sul web
- Gestione dello stato di accesso persistente
- Miglior gestione degli errori con tipi di errore coerenti
Cambiamenti di versione significativi
Sezione intitolata “Cambiamenti significativi”- E' ora richiesta l'inizializzazione esplicita - nessuna configurazione predefinita
- La struttura dell'oggetto di risposta è cambiata - formato di risultato nidificato
- L'implementazione per Android richiede un servizio backend per OAuth
- Il gestionale dei token è diverso - gestione dei token migliorata
- Il gestionale degli errori e i tipi di errore sono cambiati - errori più dettagliati
Per ulteriori istruzioni di configurazione dettagliate, si prega di consultare il documentazione ufficiale.
Continua da Migrazione di Apple Sign-In a @capgo/social-login
Sottosezione intitolata “Continua da Migrazione di Apple Sign-In a @capgo/social-login”Se stai utilizzando Migrazione di Apple Sign-In a @capgo/social-login per pianificare l'autenticazione e le flussi di account, connettilo con Utilizzare @capgo/capacitor-social-login per la capacità nativa in Utilizzare @capgo/capacitor-social-login, @capgo/capacitor-social-login per il dettaglio di implementazione in @capgo/capacitor-social-login, @capgo/capacitor-passkey per il dettaglio di implementazione in @capgo/capacitor-passkey per la dettagliata implementazione in @capgo/capacitor-native-biometric, e per la dettagliata implementazione in @capgo/capacitor-native-biometric, e Autenticazione a due fattori per la dettagliata implementazione in Autenticazione a due fattori.