Passer à la navigation

Supabase Google Login sur Android

GitHub

Ce guide vous aidera à intégrer l'authentification Google Sign-In avec Supabase Authentication sur Android. Il est supposé que vous avez déjà terminé :

La mise en œuvre complète est disponible dans l'application d'exemple l'application d'exemple supabaseAuthUtils.ts Ce guide explique les principaux concepts et comment l'utiliser.

Le authenticateWithGoogleSupabase Cette fonction gère l'ensemble du flux d'authentification :

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

Pour une explication détaillée de la manière dont le flux d'authentification fonctionne, y compris la génération de nonce, la validation de JWT et l'inscription Supabase, voir la section Comment ça marche du guide de configuration générale.

Pour la référence complète code, voir la section de référence complète Code du guide de configuration générale.

La mise en œuvre de nonce suit le modèle de la documentation de React Native Google Sign In va à Supabase's:

  • rawNonce Supabase fait une hachage de signInWithIdToken()
  • et la compare avec le rawNonce qui est inclus dans le jeton ID de Google Sign-In nonceDigest (hachage SHA-256, encodé en hexadécimal) va à la
  • nonceDigest paramètre dans les API de Google Sign-In nonce Remarques importantes

La mise en œuvre comprend une logique de réessai automatique :

  • Si la validation JWT échoue à la première tentative, elle se déconnecte et réessaye une fois
  • Cela gère les cas où les jetons stockés dans la cache pourraient avoir des nonces incorrectes
  • Si la réessai échoue également, une erreur est renvoyée

Si l'authentification échoue :

  • Audience non valideVérifiez que vos identifiants Client Google correspondent dans les deux Google Cloud Console et Supabase
  • Mauvais nonce: Vérifiez les journaux de console - la fonction se réessayera automatiquement, mais vous pouvez vous déconnecter manuellement si nécessaire
  • La validation du jeton échoue: Assurez-vous d'utiliser mode: 'online' dans l'appel d'initialisation pour obtenir un idToken
  • Consultez l'application d'exemple __CAPGO_KEEP_0__ example app code Continuez depuis Supabase Google Login on Android

Section intitulée “Continuez depuis Supabase Google Login on Android”

Si vous utilisez

Supabase Google Login on Android pour planifier l'authentification et les flux de compte, connectez-le à En utilisant @capgo/capacitor-social-login pour la capacité native dans En utilisant @capgo/capacitor-social-login @capgo/capacitor-social-login pour le détail d'implémentation dans @capgo/capacitor-social-login @capgo/capacitor-passkey pour le détail d'implémentation dans @capgo/capacitor-passkey @capgo/capacitor-native-biometric pour le détail d'implémentation dans @capgo/capacitor-native-biometric, et Authentification à deux facteurs pour le détail d'implémentation dans Authentification à deux facteurs.