Saltare al contenuto

Implementazione di Supabase Apple Login su iOS

GitHub

Questa guida ti aiuterà ad integrare Apple Sign-In con l'autenticazione Supabase su iOS. Si presume che tu abbia già completato:

file dell'applicazione di esempio. Questa guida spiega i concetti chiave e come utilizzarli. supabaseAuthUtils.ts Utilizzo dell'helper di autenticazione

La authenticateWithAppleSupabase funzione gestisce l’intero flusso di autenticazione:

import { authenticateWithAppleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithAppleSupabase();
if (result.success) {
console.log('Signed in:', result.user);
// Navigate to your authenticated area
} else {
console.error('Error:', result.error);
}

Sul iOS, Apple Sign-In utilizza l’implementazione nativa:

  1. Inizializzazione: La plugin utilizza automaticamente l’ID del pacchetto dell’applicazione (nessuna clientId aggiunta necessaria)
  2. Sign-In Nativo: Utilizza il pulsante di autenticazione con Apple e il flusso di autenticazione nativi
  3. Token di Identità: Apple restituisce un token di identità (JWT) contenente informazioni sull'utente
  4. Autenticazione Supabase: Il token di identità viene inviato a Supabase usando signInWithIdToken()

La funzione helper rileva automaticamente la piattaforma iOS e configura tutto in modo appropriato.

  • Assicurati che l'ID bundle corrisponda a quanto configurato nel Portale dello Sviluppatore Apple
  • L'ID bundle dovrebbe avere abilitata la capacità di "Sign in with Apple"
  • La funzione helper rileva automaticamente la piattaforma iOS e configura tutto in modo appropriato.

In Supabase, configurare il tuo provider Apple con:

  • ID del Client: Il tuo ID App iOS (ID del bundle) - ad esempio, app.capgo.plugin.SocialLogin

Se stai utilizzando anche Android/Web, avrai bisogno di fornire sia l'ID App che l'ID Servizio nel campo ID del Client di Supabase (separati da virgole).

Se la autenticazione fallisce:

  • Mancanza di corrispondenza dell'ID del bundle: Verifica che l'ID del bundle corrisponda in entrambi Xcode e Apple Developer Portal
  • Capacità non abilitata: Assicurati che la capacità di "Accedi con Apple" sia abilitata in Xcode
  • Configurazione Supabase: Verifica che l'ID dell'app sia configurato correttamente nei impostazioni del provider Apple di Supabase
  • La validazione del token fallisce: Controlla che il token di identità stia ricevendo da Apple
  • Rivedi l' esempio di app code per riferimento

Se stai utilizzando Supabase Apple Login on iOS Setup per pianificare l'autenticazione e le flussi di account, connettilo con Usando @capgo/capacitor-login-social per la capacità nativa in Usando @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 L'autenticazione a due fattori per il dettaglio di implementazione in L'autenticazione a due fattori.