Pular al contenido

Supabase Apple Login en Web

GitHub

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 supabaseAuthUtils.ts aplicación de ejemplo. Este manual explica los conceptos clave y cómo utilizarlo.

La authenticateWithAppleSupabase función maneja el flujo de autenticación completo:

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. Inicialización: El plugin se inicia con su ID de Servicio y la URL de la página actual 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 utilizando signInWithIdToken()

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

  • 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
  • On web, la URL de redirección se establece automáticamente en window.location.href (URL de la página actual)
  • Debes asegurarte de que 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 sin barra de dirección estén configuradas en el Portal de Desarrolladores de Apple

En Supabase, configura tu proveedor de Apple con:

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

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

Cuando utilices la authenticateWithAppleSupabase función de ayuda, debes actualizar el para que coincida con tu ID de Servicio de Apple: clientId Copiar a portapapeles

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

Sección titulada “Solución de problemas”

__CAPGO_KEEP_0__

Si falla la autenticación:

  • Diferencia de ID de ServicioVerifique que su ID de Servicio coincida en el Portal de Desarrolladores de Apple y en su code
  • URL de retorno no configuradaAsegú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 bloqueadaRevisar las configuraciones del navegador - algunos navegadores bloquean ventanas emergentes por defecto
  • Dominio no permitidoVerifique que su dominio esté agregado a los dominios permitidos en el Portal de Desarrolladores de Apple
  • Configuración de SupabaseVerifique 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

Sigue adelante desde Supabase Apple Login en Web

Sección titulada “Sigue adelante desde Supabase Apple Login en Web”

Si estás utilizando Supabase Apple Login en Web para planificar la autenticación y los flujos de cuenta, conecta con Usando @capgo/capacitor-login-social para la capacidad nativa en Usando @capgo/capacitor-login-social, @capgo/capacitor-login-social para el detalle de implementación en @capgo/capacitor-login-social, @capgo/capacitor-passkey para el detalle de implementación en @capgo/capacitor-passkey, @capgo/capacitor-native-biometric para el detalle de implementación en @capgo/capacitor-native-biometric, y Autenticación de dos factores para el detalle de implementación en Autenticación de dos factores.