Passer au contenu

Supabase Google Login sur Android

GitHub

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

La mise en œuvre complète est disponible dans l' application d'exemple supabaseAuthUtils.ts file. Cette guide explique les principaux concepts et comment l'utiliser.

Le authenticateWithGoogleSupabase 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 façon dont le flux d'authentification fonctionne, y compris la génération de nonce, la validation de JWT et l'inscription Supabase, voir la section Comment ça marche du guide de configuration générale.

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

La mise en œuvre de nonce suit le modèle de la documentation de React Native Google Sign In va à Supabase's:

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

La mise en œuvre inclut une logique de réessai 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 stockés dans la cache peuvent avoir des nonces incorrects
  • Si la réessai échoue également, une erreur est renvoyée

Si l'authentification échoue :

  • Audience non valideVé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
  • La validation du jeton échoue: Assurez-vous d'utiliser mode: 'online' le jeton d'identification dans l'appel d'initialisation
  • Consultez l'application d'exemple __CAPGO_KEEP_0__ example app code Continuez depuis Supabase Google Login on Android

pour planifier l'authentification et les flux de compte, connectez-le Section titled “Continuez depuis Supabase Google Login on Android” Si vous utilisez Supabase Google Login on Android pour planifier l'authentification et les flux de compte, connectez-le Utiliser @capgo/capacitor-login-social pour la capacité native dans Utiliser @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 L'authentification à deux facteurs pour le détail d'implémentation dans L'authentification à deux facteurs.