Saltar al contenido

Configuración de Inicio de Sesión de Apple en Supabase para iOS

Esta guía te ayudará a integrar Sign-In de Apple con la autenticación de Supabase en iOS. Se asume que ya has completado:

La implementación completa está disponible en el archivo del ejemplo de aplicación. Esta guía explica los conceptos clave y cómo utilizarlo. supabaseAuthUtils.ts Usando la Ayuda de Autenticación

Sección titulada “Usando la Ayuda de Autenticación”

La

función gestiona todo el flujo de autenticación: authenticateWithAppleSupabase Copiar a portapapeles

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

Sección titulada “Cómo Funciona”

En iOS, Apple Sign-In utiliza la implementación nativa:

On iOS, Apple Sign-In uses the native implementation:

  1. Inicialización: El plugin utiliza automáticamente el identificador de paquete de tu aplicación (no clientId necesario)
  2. Inicio de Sesión Nativo: Utiliza el botón de inicio de sesión nativo de Apple y el flujo de autenticación de Apple
  3. Token de Identidad: Apple devuelve un token de identidad (JWT) que contiene información del usuario
  4. Autenticación de Supabase: El token de identidad se envía a Supabase utilizando signInWithIdToken()

La función de ayuda detecta automáticamente la plataforma iOS y configura todo de manera adecuada.

  • iOS utiliza automáticamente el ID de paquete de tu aplicación para Apple Sign-In
  • Asegúrate de que el ID de paquete coincida con lo configurado en el Portal de Desarrolladores de Apple
  • El ID de paquete debe tener habilitada la capacidad “Iniciar sesión con Apple”

En Supabase, configura tu proveedor de Apple con:

  • ID de cliente: Tu ID de aplicación de iOS (ID de paquete) - por ejemplo, app.capgo.plugin.SocialLogin

Si también estás utilizando Android/Web, necesitarás proporcionar tanto el ID de aplicación como el ID de servicio en el campo ID de cliente de Supabase (separados por comas)

Si falla la autenticación:

  • Diferencia de ID de paquete: Verifique que el ID de paquete coincida en ambos Xcode y Portal de Desarrollador de Apple
  • Capacidad no habilitada: Asegúrese de que la capacidad “Iniciar sesión con Apple” esté habilitada en Xcode
  • Configuración de Supabase: Verifique que el ID de la aplicación esté configurado correctamente en los ajustes de proveedor de Apple de Supabase
  • Fallo en la validación de token: Verifique que el token de identidad se esté recibiendo de Apple
  • Revisar el ejemplo de aplicación code Para referencia