Saltare al contenuto

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

GitHub

Questo manuale descrive la transizione dalla versione precedente @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.

  1. Rimuovi 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';

Modifica Chiave: La nuova estensione 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 ImportantePer iOS, fornisce una configurazione base, mentre per Android sono necessari ulteriori dettagli, tra cui 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() with provider: 'apple' : con e opzionali ambiti anziché passare valori di configurazione individuali come clientId E e redirectURI.

I risultati includono ora un accessToken oggetto con dettagli di scadenza e una sezione profile strutturata, che sostituisce il formato di risposta più lineare dell'originale pacchetto:

// 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;
};
};
}

Ecco le nuove funzionalità

Section titled “New Capabilities”

L'aggiornamento del plugin 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'
});

Queste funzioni forniscono isLoggedIn() per verificare lo stato di autenticazione e logout() funzionalità.

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

  1. La configurazione iOS rimane sostanzialmente la stessa. Ancora devi:
    • Abilita la capacità di "Accedi con Apple" in Xcode
    • Configura la tua app nel Portale dello Sviluppatore Apple
    • Nessun aggiornamento aggiuntivo code richiesto per iOS

Android ora riceve supporto nativo tramite autenticazione OAuth basata su web:

Il nuovo plugin fornisce il supporto per Android di serie, 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. È richiesta la configurazione del servizio back-end

ISTRUZIONI DI SETTAGGIO DETTAGLIATE PER Android, si prega di consultare il GUIDA DI SETTAGGIO PER Android.

Il pacchetto modernizzato fornisce:

  1. API UNITE su più provider social (Google, Facebook, Apple)
  2. Tipi di dati migliorati con definizioni di tipo più precise
  3. Mantenimento della community attiva rispetto alla versione deprecata
  4. Sostegno integrato per Android attraverso l'autenticazione basata sul web
  5. Gestione dello stato di accesso persistente
  6. Manutenzione degli errori migliorata con tipi di errore coerenti
  1. È ora richiesta l'inizializzazione esplicita - nessuna configurazione predefinita
  2. La struttura dell'oggetto di risposta è cambiata - formato di risultato nidificato
  3. L'implementazione Android richiede un servizio backend per OAuth
  4. La gestione dei refresh dei token è diversa - miglioramento della gestione dei token
  5. Gestione degli errori e tipi di errori 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 Utilizza @capgo/capacitor-social-login Migliorare la capacità nativa in Utilizzare @capgo/capacitor-login sociale, @capgo/capacitor-login sociale Migliorare la dettaglio di implementazione in @capgo/capacitor-login sociale, @capgo/capacitor-chiave di accesso Migliorare la dettaglio di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-biometria nativa Migliorare la dettaglio di implementazione in @capgo/capacitor-biometria nativa, e Autenticazione a due fattori Migliorare la dettaglio di implementazione in Autenticazione a due fattori.