Passer à la navigation

Connexion Supabase Google sur Android

Ce guide vous aidera à intégrer Google Sign-In avec l'authentification 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 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, consultez la section Comment ça marche du guide de configuration générale.

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

La mise en œuvre de nonce suit le modèle décrit dans la documentation de React Native Google Sign In se rend à Supabase’s:

  • rawNonce Supabase calcule une hache de signInWithIdToken()
  • et la compare avec le rawNonce qui est inclus dans le jeton d'ID de Google Sign-In nonceDigest (hache SHA-256, encodée en hexadécimal) se rend au
  • nonceDigest paramètre dans les API de Google Sign-In nonce Réessayez automatiquement

Section intitulée “Réessayez automatiquement”

__CAPGO_KEEP_0__

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

  • Si la validation JWT échoue lors de 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 valide: Vérifiez que vos identifiants Client Google correspondent dans l'interface de Google Cloud Console et Supabase
  • Mauvais nonce: Vérifiez les journaux de console - la fonction 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' dans l'appel d'initialisation pour obtenir un idToken
  • Vérifiez l'exemple d'application __CAPGO_KEEP_0__ example app code Page d'édition