Supabase Google Login en Web
Copia un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Introducción
Sección titulada “Introducción”Esta guía te ayudará a integrar el inicio de sesión de Google con la autenticación de Supabase en Web. Se supone que ya has completado:
- el Configuración de inicio de sesión de Google en Web
- la Configuración general de inicio de sesión de Google de Supabase.
Implementación
Sección titulada “Implementación”La implementación completa está disponible en la aplicación de ejemplo supabaseAuthUtils.ts archivo. Esta guía explica los conceptos clave y cómo utilizarlo.
Usando el Asistente de Autenticación
Sección titulada “Usando el Asistente de Autenticación”El authenticateWithGoogleSupabase función maneja todo el flujo de autenticación:
import { authenticateWithGoogleSupabase } from './supabaseAuthUtils';
const result = await authenticateWithGoogleSupabase();if (result.success) { console.log('Signed in:', result.user); // Navigate to your authenticated area} else { console.error('Error:', result.error);}Crítico: Manejo de Redirecciones
Sección titulada “Crítico: Manejo de Redirecciones”Crítico: Manejo de Redirecciones
Cuando se utiliza el inicio de sesión de Google en web, usted DEBE llamar a cualquier función del complemento cuando suceda la redirección para inicializar el complemento para que pueda manejar la redirección y cerrar la ventana emergente. Puede llamar a cualquiera de isLoggedIn() O initialize() - Ambas activarán el manejo de la redirección.
Este es fundamental para que el flujo de inicio de sesión de OAuth funcione correctamente.
Ejemplo de Implementación
Sección titulada “Ejemplo de Implementación”Agregar esto a tu componente que maneja el inicio de sesión de Google:
import { useEffect } from 'react';import { SocialLogin } from '@capgo/capacitor-social-login';
function SupabasePage() { // Check Google login status on mount to invoke redirect handling // This doesn't serve any functional purpose in the UI but ensures // that any pending OAuth redirects are properly processed useEffect(() => { const checkGoogleLoginStatus = async () => { try { await SocialLogin.isLoggedIn({ provider: 'google' }); // We don't use the result, this is just to trigger redirect handling } catch (error) { // Ignore errors - this is just for redirect handling console.log('Google login status check completed (redirect handling)'); } };
checkGoogleLoginStatus(); }, []);
// ... rest of your component}Ver el SupabasePage.tsx para un ejemplo completo.
Para una explicación detallada de cómo funciona el flujo de autenticación, incluyendo la generación de nonce, la validación de JWT y el inicio de sesión en Supabase, consulte la sección de cómo funciona en la guía de configuración general.
Para la referencia completa code, consulte la sección de referencia completa Code en la guía de configuración general.
También consulte:
- SupabasePage.tsx - Ejemplo de componente con manejo de redirección
- SupabaseCreateAccountPage.tsx - Ejemplo de página de registro de cuenta
Observaciones importantes
Sección titulada “Observaciones importantes”Manejo de redirección
Sección titulada “Gestión de Redirecciones”Cuando se utiliza el inicio de sesión de Google en web, usted DEBE llamar a cualquier función del complemento cuando ocurra la redirección para inicializar el complemento para que pueda manejar la redirección y cerrar la ventana emergente. Puede llamar a isLoggedIn() O initialize() - ambos desencadenarán la gestión de redirecciones.
Esto es esencial para que el flujo de inicio de sesión OAuth funcione correctamente. Sin esto, la ventana emergente no se cerrará después de la autenticación.
Gestión de Número de Secuencia
Sección titulada “Gestión de Número de Secuencia”La implementación del número de secuencia sigue el patrón de la documentación de inicio de sesión de Google en React Native va a Supabase’s:
rawNoncedocumentación de inicio de sesión de Google en React NativesignInWithIdToken()- Supabase crea una huella de
rawNoncey la compara con lanonceDigestque se incluye en el token de ID de Google Sign-In nonceDigest(huella SHA-256, codificada en hexadecimal) se envía alnonceparámetro en las API de Google Sign-In
Retraso Automático
Título de la sección “Retraso Automático”La implementación incluye lógica de reintentos automáticos:
- Si la validación de JWT falla en el primer intento, se cierra sesión y se vuelve a intentar una vez
- Esto maneja casos donde los tokens en caché pueden tener noches incorrectos
- Si el reintentar también falla, se devuelve un error
Ayuda con problemas
Sección titulada “Resolución de problemas”Si falla la autenticación:
- No funciona la redirecciónAsegúrate de que estés llamando a
isLoggedIn()en el montaje del componente (consulte el ejemplo anterior) - Público inválido: Verifica que los identificadores de cliente de Google coincidan en tanto en Google Cloud Console como en Supabase
- URLs de redirección autorizadas: Revisa que las URLs de redirección autorizadas estén configuradas tanto en Google Cloud Console como en Supabase
- Diferencia en el nonce: Revisa los registros del console - la función se repetirá automáticamente, pero puedes cerrar sesión manualmente si es necesario
- Fallo en la validación del tokenAsegúrate de utilizar
mode: 'online'en la llamada de inicialización para obtener un idToken - Revisa el ejemplo de aplicación code para referencia
Sigue adelante desde Supabase Google Login en Web
Título de la sección “Sigue adelante desde Supabase Google Login en Web”Si estás utilizando Supabase Google Login en Web para planificar la autenticación y los flujos de cuenta, conecta con Usando @capgo/capacitor-social-login para la capacidad nativa en Usando @capgo/capacitor-social-login, @capgo/capacitor-social-login para los detalles de implementación en @capgo/capacitor-social-login @capgo/capacitor-passkey para los detalles de implementación en @capgo/capacitor-passkey @capgo/capacitor-native-biometric para los detalles de implementación en @capgo/capacitor-native-biometric, y Autenticación en dos factores para los detalles de implementación en Autenticación en dos factores