Saltar al contenido

Supabase Apple Login - Configuración General

Esta guía te ayudará a integrar Sign-In de Apple con la autenticación de Supabase. Sign-In de Apple proporciona un método de autenticación seguro y centrado en la privacidad que funciona en plataformas iOS, Android y Web.

Antes de empezar, asegúrate de que tengas:

  1. Creado un proyecto de Supabase

  2. Leído el Configuración general de Apple Login guía para configurar las credenciales OAuth de Apple

  3. Seguido las guías específicas de la plataforma para configurar las credenciales OAuth de Apple para tu plataforma objetivo:

Habilitar proveedor de autenticación OAuth de Apple en Supabase

Sección titulada “Habilitar proveedor de autenticación OAuth de Apple en Supabase”
  1. Ir a tu Panel de control de Supabase

  2. Haz clic en tu proyecto

    Selector de proyecto de Supabase
  3. No vaya a la Authentication menú

    Menú de autenticación de Supabase
  4. Haga clic en la Providers pestaña

    Pestaña de proveedores de Supabase
  5. Encuentre el Apple proveedor

    Proveedor de Apple de Supabase
  6. Habilite el Apple proveedor

    Proveedor de Apple de Supabase (Habilitado)
  7. Rellene la configuración del ID del cliente:

    ID del cliente del proveedor de Apple de Supabase
  8. Haga clic en el Save botón

    Guardar proveedor de Apple de Supabase

¡Listo! Ahora has habilitado el inicio de sesión con Apple con la autenticación de Supabase 🎉

La implementación completa incluye una función auxiliar authenticateWithAppleSupabase() que maneja todo el flujo de inicio de sesión de Apple con Supabase. Esta función:

  • Inicia el inicio de sesión de Apple con la configuración específica de la plataforma
  • Maneja el flujo de autenticación (nativo en iOS, redirección de OAuth en Android/Web)
  • Extrae el token de identidad de Apple
  • Inicia sesión en Supabase con el token de identidad
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 función de ayuda maneja automáticamente las diferencias específicas de plataforma:

  • iOS: Utiliza la autenticación de Apple nativa (no se necesita una URL de redireccionamiento, utiliza automáticamente el ID de paquete)
  • Android: Utiliza el flujo de redirección de OAuth con una función de borde de servidor (requiere ID de Servicio)
  • Web: Utiliza el flujo de popup de OAuth (requiere ID de Servicio y la URL de la página actual como redirección)

La función devuelve un token de identidad de Apple, que luego se utiliza para autenticar con Supabase utilizando supabase.auth.signInWithIdToken().