Saltare al contenuto

Migrazione di Sign-In Apple a @capgo/social-login

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__
  1. Elimina il vecchio pacchetto:

    Finestra del terminale
    npm uninstall @capacitor-community/apple-sign-in
  2. Installa il nuovo pacchetto:

    Finestra del terminale
    npm install @capgo/capacitor-social-login
    npx cap sync
import { SignInWithApple } from '@capacitor-community/apple-sign-in';
import { SocialLogin } from '@capgo/capacitor-social-login';

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 configuration
await SocialLogin.initialize({
apple: {} // Basic iOS configuration
});
// For Android: Additional configuration required
await 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.

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 type
interface AppleSignInResponse {
response: {
user: string;
email: string | null;
givenName: string | null;
familyName: string | null;
identityToken: string | null;
authorizationCode: string | null;
};
}
// New response type
interface 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;
};
};
}

Il plugin aggiornato introduce funzionalità che non erano disponibili nel predecessore:

Verifica dello Stato di Accesso

// Not available in old package
const status = await SocialLogin.isLoggedIn({
provider: 'apple'
});

Funzionalità di logout

// Not available in old package
await SocialLogin.logout({
provider: 'apple'
});

Questi metodi forniscono la possibilità di isLoggedIn() verificare lo stato di autenticazione e logout() funzionalità.

iOS mantiene procedure di configurazione familiari attraverso le capacità di Xcode:

  1. 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

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:

  1. Creare un ID Servizi nel portale dello sviluppatore Apple
  2. Configura un endpoint di autenticazione web
  3. Configura la tua app Android per gestire il flusso OAuth
  4. La configurazione del servizio backend è richiesta

Per istruzioni di configurazione dettagliate per Android, si prega di consultare il Guida di configurazione per Android.

Il pacchetto modernizzato fornisce:

  1. API unificate su più provider sociali (Google, Facebook, Apple)
  2. Tipi di tipo migliorati con definizioni di tipo migliori
  3. Manutenzione della community attiva rispetto alla versione deprecata
  4. Support integrato per Android attraverso l'autenticazione basata sul web
  5. Gestione dello stato di accesso persistente
  6. Miglior gestione degli errori con tipi di errore coerenti
  1. L'inizializzazione esplicita è ora richiesta - nessuna configurazione predefinita
  2. La struttura dell'oggetto di risposta è cambiata - formato di risultato nidificato
  3. La implementazione per Android richiede un servizio backend per OAuth
  4. La gestione dei token è diversa - gestione dei token migliorata
  5. 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.