Saltar al contenido

Iniciar sesión con Supabase en Apple en Web

Esta guía te ayudará a integrar el inicio de sesión de Apple con la autenticación de Supabase en Web. Se asume que ya has completado:

La implementación completa está disponible en el archivo del ejemplo de aplicación. Este manual explica los conceptos clave y cómo utilizarlo. supabaseAuthUtils.ts Usando el Asistente de Autenticación

Sección titulada “Usando el Asistente de Autenticación”

La

función maneja 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);
}

En Web, Apple Sign-In utiliza un flujo de OAuth popup:

  1. Iniciación: El plugin se inicia con su ID de Servicio y la URL actual de la página como URL de redirección
  2. OAuth Popup: Se abre una ventana emergente con la página de OAuth de Apple
  3. Autenticación de Usuario: El usuario se autentica con Apple en la ventana emergente
  4. Token de Identidad: Apple devuelve un token de identidad (JWT) que contiene información del usuario
  5. Autenticación de Supabase: El token de identidad se envía a Supabase signInWithIdToken()

La función de ayuda detecta automáticamente la plataforma web y configura todo correctamente.

  • La web requiere su ID de Servicio de Apple (igual que Android)
  • El ID de Servicio debe estar configurado en el Portal de Desarrolladores de Apple con las URL de devolución correctas
  • Asegúrese de que su dominio esté agregado a los dominios permitidos en el Portal de Desarrolladores de Apple
  • En la web, la URL de redirección se establece automáticamente en window.location.href (URL de la página actual)
  • Debe coincidir con uno de los URLs de retorno configurados en el Portal de Desarrolladores de Apple
  • Asegúrese de que tanto la URL con como sin barra de dirección estén configuradas en el Portal de Desarrolladores de Apple

En Supabase, configure su proveedor de Apple con:

  • ID del cliente: Su ID de Servicio de Apple (por ejemplo, com.example.app.service)

Si también está utilizando iOS, necesitará proporcionar tanto el ID de la aplicación como el ID de Servicio en el campo ID del cliente de Supabase (separados por comas).

Al utilizar la authenticateWithAppleSupabase función de ayuda, usted debe actualizar actualizar clientId para coincidir con su ID de Servicio de 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,
},
});

Si falla la autenticación:

  • Diferencia en el ID de Servicio: Verifique que su ID de Servicio coincida en ambos Portal de Desarrolladores de Apple y su code
  • URL de retorno no configurada: Asegúrese de que la URL actual de la página (con y sin barra de dirección) esté configurada en el Portal de Desarrolladores de Apple
  • Ventana emergente bloqueada: Revisa las configuraciones del navegador - algunos navegadores bloquean ventanas emergentes por defecto
  • Dominio no permitido: Verifique que su dominio esté agregado a los dominios permitidos en el Portal de Desarrolladores de Apple
  • Configuración de Supabase: Verifique que su ID de Servicio esté configurado correctamente en los ajustes de proveedor de Apple de Supabase
  • Revisar el ejemplo de aplicación code para referencia