Passer à la navigation principale

Supabase Google Login sur Android

GitHub

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

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

Section intitulée « Utilisation de l'Aide à l'authentification »

Le

fonction gère l'ensemble du flux d'authentification : authenticateWithGoogleSupabase Copier dans le presse-papier

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 la connexion à 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 la connexion Google Sign In de React Native Section intitulée « Gestion de nonce »:

  • rawNonce se rend à Supabase’s signInWithIdToken()
  • Supabase fait une hachage de 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) se rend à la nonce paramètre dans les API de Google Sign-In

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

  • Si la validation du JWT échoue à la première tentative, il 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 valide: Vérifiez que vos identifiants Client Google correspondent dans les deux Google Cloud Console et Supabase
  • Échec de la validation de nonce: Vérifiez les journaux du 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' l'initialisation appelez pour obtenir un idToken
  • Examinez l' exemple d'application 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-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 les détails d'implémentation dans @capgo/capacitor-native-biometric, et Authentification à deux facteurs pour les détails d'implémentation dans Authentification à deux facteurs.