Saltare al contenuto

Impostazione generale di Apple Login in Supabase

Questa guida ti aiuterà a integrare l'accesso con Apple con l'autenticazione di Supabase. L'accesso con Apple fornisce un metodo di autenticazione sicuro e focalizzato sulla privacy che funziona su piattaforme iOS, Android e Web.

Prima di iniziare, assicurati di avere:

  1. Creato un progetto Supabase

  2. Letto il Setup generale di Apple Login guida per configurare le credenziali OAuth Apple

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

  1. Vai al tuo Pannello di controllo di Supabase

  2. Clicca sul tuo progetto

    Selezionatore di progetto di Supabase
  3. Vai al Authentication menu

    Menu di autenticazione di Supabase
  4. Clicca sulla Providers tabella

    Tab provider Supabase
  5. Trova il Apple provider

    Provider Apple Supabase
  6. Abilita il Apple provider

    Abilitazione del provider Apple Supabase
  7. Inserisci la configurazione dell'ID del client:

    Provider Apple Supabase ID del client
  8. Clicca sul Save bottoni

    Salva Provider Apple Supabase

Ecco, hai ora abilitato l'accesso con Apple e l'autenticazione Supabase 🎉

La completa implementazione include una funzione di aiuto authenticateWithAppleSupabase() che gestisce l'intero flusso di accesso Apple con Supabase. Questa funzione:

  • Inizializza l'accesso Apple con una configurazione specifica per piattaforma
  • Gestisce il flusso di autenticazione (nativo su iOS, redirect OAuth su Android/Web)
  • Estrae il token di identità da Apple
  • Accede a Supabase con il token di identità

Esempio di Implementazione Completa

Sezione intitolata “Utilizzo base”
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);
}

La funzione helper gestisce automaticamente le differenze specifiche della piattaforma:

  • iOS: Utilizza l'accesso di Apple nativo (nessuna URL di reindirizzamento necessaria, utilizza automaticamente l'ID bundle)
  • Android: Utilizza il flusso di reindirizzamento OAuth con la funzione di edge backend (richiede ID Servizio)
  • Web: Utilizza il flusso di popup OAuth (richiede ID Servizio e URL della pagina corrente come reindirizzamento)

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