Passer à la navigation

Connexion Google Supabase sur Android

GitHub

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

La mise en œuvre complète est disponible dans le fichier de l'application d'exemple. supabaseAuthUtils.ts Ce guide explique les concepts clés et comment l'utiliser.

La authenticateWithGoogleSupabase fonction gère l'ensemble de la chaîne 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);
}

Voir la description 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. La section Fonctionnement dans le guide de configuration générale.

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

La mise en œuvre de nonce suit le modèle provenant de Documentation de connexion Google pour React Native:

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

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

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

Si l'authentification échoue :

  • Audience non valide: Vé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
  • Échec de la validation du jeton: Assurez-vous d'utiliser mode: 'online' obtenir un idToken lors de l'appel d'initialisation
  • Consultez l' l'application d'exemple code pour référence

Si vous utilisez Supabase Google Login sur Android pour planifier l'authentification et les flux de compte, connectez-l’avec En utilisant @capgo/capacitor-login-social pour la capacité native dans En utilisant @capgo/capacitor-login-social @capgo/capacitor-login-social pour le détail d'implémentation dans @capgo/capacitor-login-social @capgo/capacitor-passkey pour le détail d'implémentation dans @capgo/capacitor-passkey @capgo/capacitor-biométrique-native pour le détail d'implémentation dans @capgo/capacitor-biométrique-native, et Deux facteurs d'authentification pour le détail d'implémentation dans Deux facteurs d'authentification.