Vai al contenuto

Accesso Apple Supabase su iOS

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

L’implementazione completa è disponibile nel file supabaseAuthUtils.ts dell’app di esempio. Questa guida spiega i concetti chiave e come usarlo.

La funzione authenticateWithAppleSupabase gestisce l’intero flusso di autenticazione:

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

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

  1. Inizializzazione: Il plugin utilizza automaticamente l’ID del bundle della tua app (non è necessario alcun clientId)
  2. Sign-In nativo: Utilizza il pulsante Apple Sign in with Apple nativo e il flusso di autenticazione
  3. Token di identità: Apple restituisce un token di identità (JWT) contenente le informazioni dell’utente
  4. Autenticazione Supabase: Il token di identità viene inviato a Supabase utilizzando signInWithIdToken()

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

  • iOS utilizza automaticamente l’ID del bundle della tua app per Apple Sign-In
  • Assicurati che l’ID del bundle corrisponda a quello configurato nel portale di Apple Developer
  • L’ID del bundle deve avere la capacità “Sign in with Apple” abilitata

In Supabase, configura il tuo provider Apple con:

  • ID client: L’ID app iOS (ID bundle) - ad es. app.capgo.plugin.SocialLogin

Se stai utilizzando anche Android/Web, dovrai fornire sia l’ID app che l’ID servizio nel campo ID client di Supabase (separati da virgola).

Se l’autenticazione non riesce:

  • Mancata corrispondenza dell’ID del bundle: Verifica che l’ID del bundle corrisponda sia in Xcode che nel portale di Apple Developer
  • Capacità non abilitata: Assicurati che la capacità “Sign in with Apple” sia abilitata in Xcode
  • Configurazione Supabase: Verifica che l’ID app sia correttamente configurato nelle impostazioni del provider Apple di Supabase
  • Convalida del token non riuscita: Controlla che il token di identità sia ricevuto da Apple
  • Consulta il codice dell’app di esempio come riferimento