Supabase Google Login en Web
Copiar una solicitud 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 asume que ya has completado:
- el Configuración de inicio de sesión de Google Web
- the 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 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”
Lafunción maneja todo el flujo de autenticación: authenticateWithGoogleSupabase Copiar a portapapeles
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 Redirección
Sección titulada “Crítico: Manejo de Redirección”Crítico: Manejo de Redirección
Cuando se utiliza el inicio de sesión de Google en la web, usted DEBE llamar a cualquier función del plugin cuando ocurra la redirección para inicializar el plugin para que pueda manejar la redirección y cerrar la ventana emergente de popup. Puede llamar a isLoggedIn() O initialize() - ambos desencadenarán el manejo de la redirección.
Esto es esencial para que el flujo de inicio de sesión de OAuth funcione correctamente.
Ejemplo de Implementación
Sección titulada “Ejemplo de Implementación”Agregue esto a su 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.
Cómo Funciona
Sección titulada “Cómo Funciona”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, vea la sección Cómo Funciona en la guía de configuración general.
Para la referencia completa code, vea la sección de referencia completa Code en la guía de configuración general.
También vea:
- SupabasePage.tsx - Ejemplo de componente con manejo de redirección
- SupabaseCreateAccountPage.tsx - Ejemplo de página de registro
Notas importantes
Sección titulada “Notas importantes”Manejo de redirecciones
Sección titulada “Manejo de redirecciones”Cuando estés utilizando el inicio de sesión de Google en web, DEBE llamar a cualquier función del plugin cuando ocurra la redirección para inicializar el plugin para que pueda manejar la redirección y cerrar la ventana emergente. Puedes llamar a isLoggedIn() O initialize() - tanto uno como el otro desencadenará el manejo de la redirección.
Este es esencial para que el flujo de inicio de sesión con OAuth funcione correctamente. Sin esto, la ventana de popup no se cerrará después de la autenticación.
Gestión de nonce
Sección titulada “Gestión de nonce”La implementación de nonce sigue el patrón del documentación de inicio de sesión de Google para React Native:
rawNonceva a Supabase’ssignInWithIdToken()- Supabase hace una hash de
rawNoncey la compara con elnonceDigestque se incluye en el token de ID desde el inicio de sesión de Google nonceDigest(hash SHA-256, codificado en hexadecimal) va alnonceparámetro en las API de inicio de sesión de Google
Reintentos automáticos
Sección titulada “Reintentos Automáticos”La implementación incluye lógica de reintentos automáticos:
- Si la validación de JWT falla en la primera intento, se desloguea y se vuelve a intentar una vez
- Esto maneja casos donde los tokens en caché pueden tener nosec incorrectos
- Si el reintentar también falla, se devuelve un error
Solución de Problemas
Sección titulada “Solución de Problemas”Si falla la autenticación:
- No funciona la redirección: Asegúrate de que estés llamando
isLoggedIn()en el montaje del componente (ver ejemplo anterior) - Audencia inválida: Verifique que los identificadores de cliente de Google coincidan en ambos Google Cloud Console y Supabase
- URLs de redireccion autorizadas: Verifique que las URL de redireccion autorizadas estén configuradas en ambos Google Cloud Console y Supabase
- Error de nonce: Revisa los registros del console - la función se repetirá automáticamente, pero puedes cerrar sesión manualmente si es necesario
- Error de validación de token: Asegúrate de utilizar
mode: 'online'en la llamada de inicialización para obtener un idToken - Revisa el aplicación de ejemplo code para referencia
Sigue adelante desde Supabase Google Login en Web
Sección titulada “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-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-clave-privada para el detalle de implementación en @capgo/capacitor-clave-privada @capgo/capacitor-biometría-nativa para el detalle de implementación en @capgo/capacitor-biometría-nativa Autenticación en dos factores para el detalle de implementación en Autenticación en dos factores.