Supabase Google Connectez-vous sur Android
##Présentation
Ce guide vous aidera à intégrer la connexion Google avec l’authentification Supabase sur Android. On suppose que vous avez déjà complété :
Implémentation
Section titled “Implémentation”L’implémentation complète est disponible dans le fichier supabaseAuthUtils.ts de l’application exemple. Ce guide explique les concepts clés et comment l’utiliser.
Utilisation de l’assistant d’authentification
Section titled “Utilisation de l’assistant d’authentification”La fonction authenticateWithGoogleSupabase gère l’intégralité 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);}Comment ça marche
Section titled “Comment ça marche”Pour une explication détaillée du fonctionnement du flux d’authentification, y compris la génération de noms occasionnels, la validation JWT et la connexion Supabase, consultez la section Comment ça marche dans le guide de configuration générale.
Pour la référence complète du code, consultez la [section Référence complète du code dans le guide de configuration générale] (/docs/plugins/social-login/supabase/google/general/#complete-code-reference).
Remarques importantes
Section titled “Remarques importantes”Gestion des cas occasionnels
Section titled “Gestion des cas occasionnels”L’implémentation du nonce suit le modèle de la documentation de connexion React Native Google :
rawNonceva ausignInWithIdToken()de Supabase- Supabase crée un hachage de
rawNonceet le compare avec lenonceDigestqui est inclus dans le jeton d’identification de Google Connexion nonceDigest(hachage SHA-256, encodé en hexadécimal) va au paramètrenoncedans les API de connexion Google
Nouvelle tentative automatique
Section titled “Nouvelle tentative automatique”L’implémentation inclut une logique de nouvelle tentative 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 mis en cache peuvent avoir des noms occasionnels incorrects
- Si la nouvelle tentative échoue également, une erreur est renvoyée
Dépannage
Section titled “Dépannage”Si l’authentification échoue :
- Audience non valide : vérifiez que vos ID client Google correspondent à la fois dans Google Cloud Console et dans Supabase.
- Incompatibilité occasionnelle : vérifiez les journaux de la console - la fonction réessayera automatiquement, mais vous pouvez d’abord 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’exemple de code d’application pour référence.