Supabase Google Login sur Web
Copiez un prompt de configuration avec les étapes d'installation et le guide markdown complet pour ce plugin.
Introduction
Section intitulée « Introduction »Ce guide vous aidera à intégrer l'authentification Google Sign-In avec Supabase Authentication sur le Web. Il est supposé que vous avez déjà terminé :
- le l'installation de connexion Google Web
- la la configuration générale de connexion Google Supabase -.
Mise en œuvre
Section intitulée « Mise en œuvre »La mise en œuvre complète est disponible dans l'application d'exemple example app’s supabaseAuthUtils.ts Ce guide explique les principaux concepts et comment l'utiliser.
Utilisation de l'assistant d'authentification
Section intitulée « Utilisation de l'assistant d'authentification »Le authenticateWithGoogleSupabase La 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);}Important : Gestion des redirections
Section intitulée « Important : Gestion des redirections »Important : Gestion des redirections
Lors de l'utilisation de la connexion Google sur le web, vous DEVEZ appeler toute fonction du plugin lorsque la redirection se produit pour initialiser le plugin afin qu'il puisse gérer la redirection et fermer la fenêtre de popup. Vous pouvez appeler soit isLoggedIn() OU initialize() - les deux déclenchent la gestion de la redirection.
Cela est essentiel pour que le flux de connexion OAuth fonctionne correctement.
Exemple d'implémentation
Section intitulée “Exemple d'implémentation”Ajoutez ceci à votre composant qui gère l'inscription Google :
import { useEffect } from 'react';import { SocialLogin } from '@capgo/capacitor-social-login';
function SupabasePage() { // Check Google login status on mount to invoke redirect handling // This doesn't serve any functional purpose in the UI but ensures // that any pending OAuth redirects are properly processed useEffect(() => { const checkGoogleLoginStatus = async () => { try { await SocialLogin.isLoggedIn({ provider: 'google' }); // We don't use the result, this is just to trigger redirect handling } catch (error) { // Ignore errors - this is just for redirect handling console.log('Google login status check completed (redirect handling)'); } };
checkGoogleLoginStatus(); }, []);
// ... rest of your component}Voir le SupabasePage.tsx pour un exemple complet.
Comment ça marche
Section intitulée “Comment ça marche”Pour une explication détaillée de la façon 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 dans le guide de configuration générale.
Pour la référence complète code, voir la section Référence complète Code dans le guide de configuration générale.
Voir également :
- SupabasePage.tsx - Exemple de composant avec gestion de redirection
- SupabaseCreateAccountPage.tsx - Exemple de page de création de compte
Notes importantes
Section intitulée “Notes importantes”Gestion de redirection
Gestion des RedirectionsLorsque vous utilisez Google login sur le web, vous DEVEZ appeler toute fonction du plugin lorsqu'il se produit la redirection pour initialiser le plugin afin qu'il puisse gérer la redirection et fermer la fenêtre de popup. Vous pouvez appeler soit isLoggedIn() OU initialize() - les deux déclencheront la gestion de la redirection.
Cela est essentiel pour que le flux de connexion OAuth fonctionne correctement. Sans cela, la fenêtre de popup ne se fermera pas après l'authentification.
Gestion des Nonces
Section intitulée “Gestion des Nonces”La mise en œuvre du nonce suit le modèle de la documentation de Google Sign In React Native va vers la documentation de Supabase:
rawNonceGestion des Nonces suit le modèle de la documentation de Google Sign In React NativesignInWithIdToken()- Supabase fait une hache de
rawNonceet la compare avec lenonceDigestqui est inclus dans le jeton ID de Google Sign-In nonceDigest(hachage SHA-256, encodé en hexadécimal) se rend dans lenonceparamètre des API de Google Sign-In
Réessayer automatiquement
Section intitulée “Réessayer automatiquement”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
Résoudre les problèmes
Section intitulée « Résolution des problèmes »Si l'authentification échoue :
- La redirection ne fonctionne pas: Assurez-vous d'appeler
isLoggedIn()à la montée du composant (voir l'exemple ci-dessus) - Audience non valide: Vérifiez que les identifiants Client Google correspondent dans les deux Google Cloud Console et Supabase
- URLs de redirection autorisées: Vérifiez que les URLs de redirection autorisées sont configurées dans les deux Google Cloud Console et Supabase
- Différence de nonce: Vérifiez les journaux de console - la fonction se réessayera automatiquement, mais vous pouvez vous déconnecter manuellement en premier si nécessaire
- Échec de la validation du jetonAssurez-vous d'utiliser
mode: 'online'dans l'appel d'initialisation pour obtenir un idToken - Examinez l'exemple d'application __CAPGO_KEEP_0__ example app code Continuez de Supabase Google Login on Web
Section intitulée “Continuez de Supabase Google Login on Web”
Si vous utilisezSupabase Google Login on Web pour planifier l'authentification et les flux de compte, connectez-le avec En utilisant @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login pour la capacité native dans En utilisant @capgo/capacitor-social-login, Si vous utilisez Supabase Google Login on Web pour planifier l'authentification et les flux de compte, connectez-le avec @capgo/capacitor-social-login @capgo/capacitor-connexion-social pour les détails d'implémentation dans @capgo/capacitor-connexion-social, @capgo/capacitor-passkey pour les détails d'implémentation dans @capgo/capacitor-passkey, @capgo/capacitor-authentification-biometrique-native pour les détails d'implémentation dans @capgo/capacitor-authentification-biometrique-native, et L'authentification à deux facteurs pour les détails d'implémentation dans L'authentification à deux facteurs.