Sauter vers le contenu

Login Google sur Android

GitHub

Dans ce guide, vous apprendrez à configurer l'authentification Google avec Capgo Social Login pour Android. Je suppose que vous avez déjà lu le guide de configuration générale..

Utilisation de l'authentification Google sur Android

Section intitulée « Utilisation de l'authentification Google sur Android »

Dans cette partie, vous apprendrez à configurer l'authentification Google sur Android.

  1. Cliquez sur la barre de recherche

    1. Cliquez sur la barre de recherche

      Barre de recherche Google Console
    2. Recherchez credentials et cliquez sur le APIs and Services (un numéro 2 sur l'écran d'écoute)

      Résultats de recherche montrant l'option de crédentials avec APIs et Services mis en surbrillance
    3. Cliquez sur le create credentials

      bouton de création de crédentials dans Google Console
    4. Sélectionnez OAuth client ID

      l'option d'ID client OAuth dans le menu de création de crédentials
    5. Sélectionnez le Android type d'application

      Sélection du type d'application avec l'option Android mise en surbrillance
    6. Ouvrez Android Studio

    7. À la fin de la barre de navigation, recherchez la section Gradle Scripts

      La section Scripts Gradle dans le navigateur de projet Android Studio
    8. Trouvez build.gradle pour le module app

      le fichier build.gradle (Module : app) dans la section Scripts Gradle
    9. Copiez android.defaultConfig.applicationIdCela sera votre package name dans le console Google

      Le fichier Build.gradle montrant la configuration applicationId
    10. Maintenant, ouvrez le terminal. Assurez-vous d'être dans le android répertoire de votre application et exécutez ./gradlew signInReport

    Terminal affichant la commande gradlew signInReport
    1. Faites défiler vers le haut de cette commande. Vous devriez voir les éléments suivants. Copiez-les. SHA1.
    Sortie terminal montrant l'empreinte de certificat SHA1
    1. Maintenant, retournez à la Console Google. Entrez votre applicationId comme le Package Name et votre SHA1 dans le champ du certificat et cliquez sur create
    Formulaire de création d'un client Android avec les champs package name et SHA1 remplis
  2. Créez un client web (c'est requis pour Android)

    1. Allez à la Create credentials page dans la Console Google

    2. Définissez le type d'application sur Web

      Sélection de type d'application avec l'option Web mise en surbrillance
    3. Cliquez Create

      Formulaire de création de client Web avec bouton Créer en bas
    4. Copiez l'ID du client, vous en aurez besoin pour webClientId dans votre JS/TS code

      Détails de l'ID du client Web à copier
  3. Modifier votre MainActivity

    1. Veuillez ouvrir votre application dans Android Studio. Vous pouvez exécuter cap open android

    2. Trouvez MainActivity.java

      1. Ouvrez le app dossier

        Dossier de l'application dans le navigateur de projet Android Studio
      2. Trouvez java

        Répertoire Java dans la structure de projet Android Studio
      3. Trouvez votre MainActivity.java et cliquez dessus

        Fichier MainActivity.java dans la structure de package
    3. Modifier MainActivity.java. Veuillez ajouter le suivant code

      import ee.forgr.capacitor.social.login.GoogleProvider;
      import ee.forgr.capacitor.social.login.SocialLoginPlugin;
      import ee.forgr.capacitor.social.login.ModifiedMainActivityForSocialLoginPlugin;
      import com.getcapacitor.PluginHandle;
      import com.getcapacitor.Plugin;
      import android.content.Intent;
      import android.util.Log;
      import com.getcapacitor.BridgeActivity;
      // ModifiedMainActivityForSocialLoginPlugin is VERY VERY important !!!!!!
      public class MainActivity extends BridgeActivity implements ModifiedMainActivityForSocialLoginPlugin {
      @Override
      public void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      if (requestCode >= GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MIN && requestCode < GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MAX) {
      PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin");
      if (pluginHandle == null) {
      Log.i("Google Activity Result", "SocialLogin login handle is null");
      return;
      }
      Plugin plugin = pluginHandle.getInstance();
      if (!(plugin instanceof SocialLoginPlugin)) {
      Log.i("Google Activity Result", "SocialLogin plugin instance is not SocialLoginPlugin");
      return;
      }
      ((SocialLoginPlugin) plugin).handleGoogleLoginIntent(requestCode, data);
      }
      }
      // This function will never be called, leave it empty
      @Override
      public void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {}
      }
    4. Enregistrer le fichier

  4. Utiliser l'authentification Google dans votre application

    1. Tout d'abord, importez SocialLogin

      import { SocialLogin } from '@capgo/capacitor-social-login';
    2. Appeler initialize. Il convient de l'appeler qu'une seule fois.

      // onMounted is Vue specific
      // webClientId is the client ID you got in the web client creation step not the android client ID.
      onMounted(() => {
      SocialLogin.initialize({
      google: {
      webClientId: '673324426943-avl4v9ubdas7a0u7igf7in03pdj1dkmg.apps.googleusercontent.com',
      }
      })
      })
    3. Appeler SocialLogin.login. Créez un bouton et exécutez le code lors du clic.

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response
      console.log(JSON.stringify(res))
  5. Configurez l'émulateur pour les tests

    1. Allez dans Device manager et cliquez sur le bouton plus

      Gestionnaire de dispositifs dans Android Studio avec le bouton plus mis en surbrillance
    2. Créer un dispositif virtuel

      Bouton Créer un Dispositif Virtuel dans la Configuration du Dispositif Virtuel
    3. Sélectionnez n'importe quel dispositif avec un Play Store icône

      Sélection de matériel montrant les dispositifs avec un support de Google Play

      Comme vous pouvez le voir, le pixel 8 supporte les Play Store services

    4. Cliquez next

      Bouton suivant dans l'assistant de création de dispositif
    5. Assurez-vous que l'image du système est du type Google Play. CE DOIT ÊTRE de type Google Play

      Sélection de l'image du système montrant des images de type Google Play
    6. Cliquez sur suivant

      Bouton suivant sur l'écran de sélection de l'image du système
    7. Confirmez votre appareil. Vous pouvez nommer votre émulateur comme vous le souhaitez

      Écran de vérification de la configuration de l'appareil avec bouton Terminer
    8. Allez dans Device Manager et démarrez votre simulateur

      Gestionnaire de dispositif avec appareil virtuel listé et bouton Jouer
    9. Après le démarrage du simulateur, allez dans ses paramètres

      Émulateur Android affichant l'application de paramètres
    10. Allez dans Google Play

    Écran de paramètres avec option Google Play
    1. Cliquez Update et attendez environ 60 secondes
    Écran de mise à jour Google Play avec le bouton Mise à jour
  6. Testez votre application

    Si vous avez fait tout correctement, vous devriez voir le flux de connexion Google fonctionner correctement :

    Démonstration du flux de connexion Google sur Android montrant le processus de connexion et l'authentification réussie

Si vous avez des problèmes, veuillez consulter le Github.

Les problèmes liés à l'authentification Google sont toujours liés au certificat SHA1.

Si vous ne pouvez pas obtenir le certificat SHA1 de développement, essayez d'utiliser un clé de stockage personnalisée. Voici un commentaire expliquant comment ajouter un clé de stockage à votre projet.

Continuez de l'authentification Google sur Android

Section intitulée “Continuez de l'authentification Google sur Android”

Si vous utilisez l'authentification Google sur Android pour planifier l'authentification et les flux de compte, connectez-le avec 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.