Migrazione di Sign-In Apple 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 aggiungi il plugin al moderno @capgo/capacitor-social-login pacchetto. Il nuovo plugin fornisce un'interfaccia unificata per i provider di autenticazione sociale multipli con supporto migliorato per TypeScript e manutenzione attiva.
Installation
Eliminare il vecchio pacchetto:-
Finestra del terminale
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”Modifica Chiave : 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 un ID del servizio e l'URL di callback 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' e opzioni di ambito 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 sezione strutturata profile che sostituisce il formato di risposta più lineare 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à”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à.
Cambiamenti Specifici per Piattaforma
Sezione intitolata “Cambiamenti Specifici per Piattaforma”Impostazione iOS
Sezione intitolata “Configurazione iOS”iOS mantiene procedure di configurazione familiari attraverso le funzionalità di Xcode:
- La configurazione iOS rimane sostanzialmente la stessa. Ancora devi:
- Abilita la funzionalità “Accedi con Apple” in Xcode
- Configura il tuo app nel Portale dello Sviluppatore Apple
- Nessun ulteriore code cambiamento richiesto per iOS
Configurazione Android
Sezione intitolata “Configurazione Android”Android ora riceve supporto nativo tramite autenticazione OAuth basata su web:
Il nuovo plugin fornisce il supporto Android di serie, ma richiede una configurazione aggiuntiva:
- Crea 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 riferirsi alla Guida di configurazione per Android.
Vantaggi chiave
Sezione intitolata “Vantaggi chiave”Il pacchetto modernizzato fornisce:
- API unificate su più provider social (Google, Facebook, Apple)
- Tipi di tipo migliorati con definizioni di tipo migliori
- Manutenzione della community attiva rispetto alla versione deprecata
- Supporto integrato per Android attraverso l'autenticazione basata su web
- Gestione dello stato di accesso persistente
- Miglior gestione 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
- L'implementazione Android richiede un servizio backend per OAuth
- La gestione del rinnovo del token è diversa - miglioramento della gestione dei token
- Gestione degli errori e tipi di errore sono stati modificati - 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
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 le flussi di account, connettilo con Utilizzando @capgo/capacitor-social-login per la capacità nativa in Utilizzando @capgo/capacitor-social-login, @capgo/capacitor-login sociale per i dettagli di implementazione in @capgo/capacitor-login sociale @capgo/capacitor-chiave di passaggio per i dettagli di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-autenticazione-biometrica-nativa per i dettagli di implementazione in @capgo/capacitor-native-biometric, e Autenticazione a due fattori per i dettagli di implementazione in Autenticazione a due fattori.