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 dal plugin legacy al pacchetto moderno. @capacitor-community/apple-sign-in Il nuovo plugin fornisce un'interfaccia unificata per i provider di autenticazione sociale multiple con supporto migliorato per TypeScript e manutenzione attiva. @capgo/capacitor-social-login Installazione
Sezione intitolata “Installazione”
__CAPGO_KEEP_0__-
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 per Android sono necessarie ulteriori informazioni, tra cui un ID del servizio e l'URL di callback del 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' }});Il nuovo plugin utilizza login() con provider: 'apple' e opzioni di accesso facoltative 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, sostituendo il formato di risposta più piatto 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 la possibilità di isLoggedIn() 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 attraverso le 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:
Il nuovo plugin 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
- La configurazione del servizio backend è richiesta
Per istruzioni di configurazione dettagliate 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
- Support integrato per Android attraverso l'autenticazione basata sul 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
- La implementazione per Android richiede un servizio backend per OAuth
- La 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 la documentazione ufficiale.
Continua da Migrazione Apple Sign-In a @capgo/social-login
Sezione intitolata “Continua da Migrazione Apple Sign-In a @capgo/social-login”Se stai utilizzando Migrazione Apple Sign-In a @capgo/social-login per pianificare l'autenticazione e le 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.