Vai al contenuto

Accesso Apple Supabase - Configurazione Generale

Questa guida ti aiuterà a integrare Apple Sign-In con l’autenticazione Supabase. Apple Sign-In fornisce un metodo di autenticazione sicuro e incentrato sulla privacy che funziona su piattaforme iOS, Android e Web.

Prima di iniziare, assicurati di avere:

  1. Creato un progetto Supabase

  2. Letto la guida Configurazione generale Apple Login per configurare le credenziali OAuth di Apple

  3. Seguito le guide specifiche della piattaforma per configurare le credenziali OAuth di Apple per la tua piattaforma di destinazione:

Abilitazione del provider OAuth di Apple in Supabase

Section titled “Abilitazione del provider OAuth di Apple in Supabase”
  1. Vai al tuo Dashboard Supabase

  2. Fai clic sul tuo progetto

    Selettore progetto Supabase
  3. Vai al menu Autenticazione

    Menu autenticazione Supabase
  4. Fai clic sulla scheda Provider

    Scheda provider Supabase
  5. Trova il provider Apple

    Provider Apple Supabase
  6. Abilita il provider Apple

    Abilita provider Apple Supabase
  7. Compila la configurazione dell’ID client:

    ID client provider Apple Supabase
  8. Fai clic sul pulsante Salva

    Salva provider Apple Supabase

Voilà, ora hai abilitato Apple Sign-In con l’autenticazione Supabase!

L’implementazione completa include una funzione helper authenticateWithAppleSupabase() che gestisce l’intero flusso di Apple Sign-In con Supabase. Questa funzione:

  • Inizializza Apple Sign-In con configurazione specifica della piattaforma
  • Gestisce il flusso di autenticazione (nativo su iOS, reindirizzamento OAuth su Android/Web)
  • Estrae il token di identità da Apple
  • Accede a Supabase con il token di identità
import { authenticateWithAppleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithAppleSupabase();
if (result.success) {
console.log('Accesso effettuato:', result.user);
// Naviga verso la tua area autenticata
} else {
console.error('Errore:', result.error);
}

La funzione helper gestisce automaticamente le differenze specifiche della piattaforma:

  • iOS: Utilizza Apple Sign-In nativo (non è necessario l’URL di reindirizzamento, utilizza automaticamente l’ID del bundle)
  • Android: Utilizza il flusso di reindirizzamento OAuth con funzione edge backend (richiede l’ID servizio)
  • Web: Utilizza il flusso popup OAuth (richiede l’ID servizio e l’URL della pagina corrente come reindirizzamento)

La funzione restituisce un token di identità da Apple, che viene quindi utilizzato per autenticarsi con Supabase utilizzando supabase.auth.signInWithIdToken().