Pulsa para ir al contenido principal

Supabase Apple Login en Web

GitHub

Esta guía te ayudará a integrar Apple Sign-In con Supabase Authentication en Web. Se asume que ya has completado:

La implementación completa está disponible en el archivo del supabaseAuthUtils.ts aplicación de ejemplo

El authenticateWithAppleSupabase función maneja todo el flujo de autenticación:

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”

  1. En Web, Apple Sign-In utiliza un flujo de OAuth de ventana emergente:Inicialización
  2. : La plugin se inicia con su ID de Servicio y la URL actual de la página como la URL de redirecciónVentana emergente de OAuth
  3. : Abre una ventana emergente con la página de OAuth de Apple: 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 utilizando signInWithIdToken()

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

  • La plataforma 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úrate de que tu 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)
  • Debes asegurarte de que esta coincida con una de las URL de retorno configuradas en el Portal de Desarrolladores de Apple
  • Asegúrate de que tanto la URL con como la sin barra de dirección estén configuradas en el Portal de Desarrolladores de Apple

En Supabase, configura tu proveedor de Apple con:

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

If you’re also using iOS, you’ll need to provide both the App ID and Service ID in Supabase’s Client ID field (comma-separated).

Cuando utilices la authenticateWithAppleSupabase función de ayuda, usted debe actualizar a clientId para que coincida 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,
},
});

Solución de problemas

Si no se logra la autenticación:

Error de ID de Servicio

  • : Verifica que el ID de Servicio coincida en ambos el Portal de Desarrolladores de Apple y tu __CAPGO_KEEP_0__: Verify your Service ID matches in both Apple Developer Portal and your code
  • : Asegúrate de que la URL actual de la página (con y sin barra de dirección) esté configurada en el Portal de Desarrolladores de AppleVentana emergente bloqueada
  • : Revisa las configuraciones del navegador - algunos navegadores bloquean ventanas emergentes por defectoDominio no permitido
  • : Verifica que tu dominio esté agregado a los dominios permitidos en el Portal de Desarrolladores de AppleSolución de problemas
  • Configuración de Supabase: Verifique que su ID de Servicio esté configurado correctamente en los ajustes del proveedor de Apple de Supabase
  • Revisar el ejemplo de aplicación code Consultar el ejemplo

Si está utilizando Supabase Apple Login en Web para planificar la autenticación y los flujos de cuenta, conecte Usando @capgo/capacitor-social-login para la capacidad nativa en Usando @capgo/capacitor-social-login, @capgo/capacitor-login-social para los detalles de implementación en @capgo/capacitor-login-social @capgo/capacitor-clave-privada para los detalles de implementación en @capgo/capacitor-clave-privada @capgo/capacitor-autenticación-biometrica-nativa para los detalles de implementación en @capgo/capacitor-autenticación-biometrica-nativa, y autenticación de dos factores para los detalles de implementación en autenticación de dos factores.