Saltar al contenido

Iniciar sesión con Google en Android

GitHub

Esta guía te ayudará a integrar Sign-In de Google con la autenticación de Supabase en Android. Se asume que ya has completado:

La implementación completa está disponible en el archivo del supabaseAuthUtils.ts Guía. Esta guía explica los conceptos clave y cómo utilizarla.

The authenticateWithGoogleSupabase La 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);
}

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 Sección de cómo funciona en la guía de configuración general.

Para la referencia completa code, consulte la sección La sección de referencia completa Code en la guía de configuración general.

La implementación de nonce sigue el patrón desde Documentación de inicio de sesión de Google para React Native:

  • rawNonce Supabase hace una hash de signInWithIdToken()
  • Supabase hace un hash de rawNonce y lo compara con el nonceDigest que se incluye en el token de ID desde Google Sign-In
  • nonceDigest (SHA-256 hash, codificado en hexadecimal) va a la nonce parámetro en las API de inicio de sesión de Google

La implementación incluye lógica de reintentos automáticos:

  • Si la validación de JWT falla en la primera intento, se desloguea y vuelve a intentarlo una vez.
  • Este maneja casos donde los tokens en caché pueden tener noches incorrectas
  • Si el reintentar también falla, se devuelve un error

Si falla la autenticación:

  • Audencia inválidaVerifique que sus IDs de cliente de Google coincidan en ambos Google Cloud Console y Supabase
  • Coincidencia de nonceVerifique los registros del console - la función se repetirá automáticamente, pero puede cerrar sesión manualmente si es necesario.
  • Fallo de validación de tokenVerifique que esté utilizando mode: 'online' en la llamada de inicialización para obtener un idToken
  • Revisar el ejemplo de aplicación code para referencia

Sigue adelante desde Supabase Google Login en Android

Sección titulada “Sigue adelante desde Supabase Google Login en Android”

Si está utilizando Iniciar sesión con Google en Android para planificar la autenticación y los flujos de cuenta, conecte 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, y Autenticación en dos factores para el detalle de implementación en Autenticación en dos factores.