Saltare al contenuto

Supabase Apple Login on Web

GitHub

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

L'implementazione completa è disponibile nel file dell'applicazione di esempio. Questa guida spiega i concetti chiave e come utilizzarla. supabaseAuthUtils.ts Utilizzo dell'helper di autenticazione

Apple Sign-In con l'autenticazione Supabase su Web

Sezione intitolata “Utilizzo dell’aiuto 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);
}

Sezione intitolata “Come Funziona”

  1. Sul Web, Apple Sign-In utilizza un flusso di autenticazione OAuth popup:Inizializzazione
  2. : La plugin viene inizializzata con il tuo ID di servizio e l'URL della pagina corrente come URL di reindirizzamentoPopup OAuth
  3. : Apre una finestra popup con la pagina OAuth di Apple: L'utente si autentica con Apple nel popup
  4. Token di Identità: Apple restituisce un token di identità (JWT) contenente informazioni sull'utente
  5. Autenticazione Supabase: Il token di identità viene inviato a Supabase utilizzando signInWithIdToken()

: La funzione di aiuto rileva automaticamente la piattaforma web e configura tutto in modo appropriato.

  • La piattaforma web richiede il tuo ID Servizio Apple (lo stesso di Android)
  • : L'ID Servizio deve essere configurato nel portale dello sviluppatore Apple con le URL di ritorno corrette
  • Assicurati di aver aggiunto il tuo dominio alle domande consentite nel portale dello sviluppatore Apple
  • Sul web, l'URL di reindirizzamento viene impostato automaticamente su window.location.href (URL della pagina corrente)
  • Questo deve corrispondere a uno dei Return URLs configurati nel portale dello sviluppatore Apple
  • Assicurati di aver configurato sia l'URL con che senza slash finale nel portale dello sviluppatore Apple

In Supabase, configura il tuo provider Apple con:

  • ID del client: Il tuo ID di servizio Apple (ad esempio, com.example.app.service)

If sei anche utilizza iOS, dovrai fornire sia l'ID App che l'ID Servizio in Supabase nel campo ID Client (separati da virgola).

Quando si utilizza la authenticateWithAppleSupabase funzione di aiuto, tu devi aggiornare il clientId per corrispondere al tuo ID Servizio Apple:

await SocialLogin.initialize({
apple: {
clientId: isIOS
? undefined // iOS uses bundle ID automatically
: 'your.service.id.here', // Your Apple Service ID for Web and Android
redirectUrl: redirectUrl,
},
});

Risoluzione dei problemi

Se l'autenticazione fallisce:

ID del servizio non corrispondente

  • : Verifica che l'ID del servizio corrisponda in entrambi il portale dello sviluppatore Apple e il tuo : Verify your Service ID matches in both Apple Developer Portal and your code
  • : Assicurati che l'URL della tua pagina corrente (con e senza slash finale) sia configurato nel portale dello sviluppatore ApplePopup bloccato
  • : Controlla le impostazioni del browser - alcuni browser bloccano i popup per impostazione predefinitaDomino non consentito
  • : Verifica che il tuo dominio sia aggiunto alle domini consentiti nel portale dello sviluppatore AppleRisoluzione dei problemi
  • Configurazione di Supabase: Verifica che il tuo ID di servizio sia configurato correttamente nei impostazioni del provider Apple di Supabase
  • Recensione del esempio di applicazione code per riferimento

Se stai utilizzando Supabase Apple Login on Web per pianificare l'autenticazione e le flussi di account, connettilo con Utilizza @capgo/capacitor-social-login per la capacità nativa in Utilizza @capgo/capacitor-social-login, @capgo/capacitor-login social per i dettagli di implementazione in @capgo/capacitor-login social @capgo/capacitor-passkey per i dettagli di implementazione in @capgo/capacitor-passkey @capgo/capacitor-autenticazione biometrica nativa per i dettagli di implementazione in @capgo/capacitor-autenticazione biometrica nativa, e Autenticazione a due fattori per i dettagli di implementazione in Autenticazione a due fattori.