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 i provider di autenticazione sociale multiple con supporto migliorato per TypeScript e manutenzione attiva. @capgo/capacitor-social-login Installazione
Sottosezione intitolata “Installazione”
Questa guida descrive la transizione dal plugin legacy al pacchetto moderno del plugin di accesso sociale. Il nuovo plugin fornisce un'interfaccia unificata per i provider di autenticazione sociale multiple con supporto migliorato per TypeScript e manutenzione attiva.-
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”Cambio 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 per Android sono necessarie ulteriori informazioni, compreso 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' Ecco gli ambiti opzionali e le autorizzazioni anziché passare valori di configurazione individuali come clientId Ecco redirectURI.
Cambiamenti di tipo di risposta
Sottosezione intitolata “Cambiamenti di tipo di risposta”I risultati includono ora un accessToken oggetto con dettagli di scadenza e una struttura profile 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; }; };}Funzionalità nuove
Sottosezione intitolata “Funzionalità nuove”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
Sottosezione intitolata “Modifiche specifiche per piattaforma”Configurazione per iOS
Sottosezione intitolata “Configurazione per iOS”IOS mantiene procedure di configurazione familiari attraverso le capacità di Xcode:
- La configurazione per iOS rimane sostanzialmente la stessa. È ancora necessario:
- Abilitare la capacità di "Accedi con Apple" in Xcode
- Configurare l'app nel Portale dello Sviluppatore Apple
- Nessun ulteriore code cambiamento richiesto per iOS
Configurazione per Android
Sezione intitolata "Configurazione per Android"Ora Android riceve supporto nativo tramite autenticazione OAuth basata su web: Il nuovo plugin fornisce supporto per Android in modo predefinito, ma richiede una configurazione aggiuntiva:
Creare un ID Servizi nel Portale dello Sviluppatore Apple
- Configurare un endpoint di autenticazione web
- Configurare l'app Android per gestire il flusso di autenticazione OAuth
- Android Setup
- La configurazione del servizio back-end è richiesta
Per istruzioni di configurazione dettagliate per Android, si prega di fare riferimento al Guida di configurazione per Android.
Vantaggi chiave
Sottosezione intitolata “Vantaggi chiave”La versione aggiornata del pacchetto fornisce:
- API unificate su più provider sociali (Google, Facebook, Apple)
- Tipi di tipo migliorati con definizioni di tipo più precise
- Manutenzione della community attiva rispetto alla versione deprecata
- Supporto integrato per Android attraverso l'autenticazione basata sul web
- Gestione dello stato di accesso persistente
- Miglioramento delle funzioni di errore 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 per Android richiede un servizio backend per OAuth
- Il trattamento dei token di refresh è diverso - gestione dei token migliorata
- 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
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 Utilizzando @capgo/capacitor-login-social per la capacità nativa in Utilizzando @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.