Passer au contenu

Connexion Google sur iOS

GitHub

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

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

  1. Créer un identifiant client iOS dans le console Google

    1. Cliquez sur la barre de recherche

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

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

      Bouton de création de crédentials dans le Console Google
    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 Application type Application type selection with iOS option highlighted iOS

      Trouvez l'ID de l'application
    6. Ouvrez Xcode

      1. Double-cliquez sur

      2. L'App target dans le navigateur de projet Xcode App

        Cliquez sur le bouton de création de crédentials
      3. Assurez-vous d'être sur Targets -> App

        La section Cibles dans Xcode avec l'application sélectionnée
      4. Trouvez votre Bundle Identifier

        Champ d'identifiant de bundle dans les paramètres de projet Xcode
      5. Retournez dans le console Google et collez votre Bundle Identifier à Bundle ID

        Champ d'ID de bundle dans la forme de création de client iOS du console Google
    7. Optionnellement, ajoutez votre App Store ID ou Team ID context

    8. collez dans l'ID de client si vous avez publié votre application sur l'App Store create

      Après avoir rempli tous les détails, cliquez sur le bouton Créer en bas de la forme de création de client iOS
    9. Cliquez OK

      OK sur le dialogue de confirmation de l'ID client créé
    10. Ouvrez le client iOS nouvellement créé

      Le client iOS nouvellement créé dans la liste des identifiants
    11. Copiez les données suivantes

      Détails de l'ID client affichant l'ID client et l'ID client inversé à copier
  2. Modifiez le fichier Info.plist de votre application

    1. Ouvrez Xcode et trouvez le Info.plist fichier

      le fichier Info.plist dans le navigateur de projet Xcode
    2. Cliquez avec le bouton droit sur ce fichier et ouvrez-l’en tant que source code

      Menu contextuel montrant l'option Ouvrir en tant que source Code
    3. En bas de votre Plist fichier, vous verrez une </dict> balise

      Balise de fin de dictionnaire dans le fichier Info.plist
    4. Insérer le fragment suivant juste avant la fermeture </dict> tag

      Info.plist avec les schémas d'URL code insérés avant la fermeture de la balise dict
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
    5. Changer le YOUR_DOT_REVERSED_IOS_CLIENT_ID à la valeur copiée dans l'étape précédente

      Info.plist avec le client ID réel inséré dans les schémas d'URL
    6. Sauvegardez le fichier avec Command + S

  3. Modifiez le AppDelegate.swift

    1. Ouvrez l’AppDelegate

      Le fichier AppDelegate.swift dans le navigateur de projet Xcode
    2. Insérez import GoogleSignIn en haut du fichier

      Le fichier AppDelegate.swift avec l'import GoogleSignIn ajouté
    3. Trouvez la func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) la fonction

      La fonction d'ouverture d'application originale openURL dans AppDelegate
    4. Modifiez la fonction pour qu'elle ressemble à ceci

      func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
      // Called when the app was launched with a url. Feel free to add additional processing here,
      // but if you want the App API to support tracking app url opens, make sure to keep this call
      var handled: Bool
      handled = GIDSignIn.sharedInstance.handle(url)
      if handled {
      return true
      }
      return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
      }
      Application modifiée ouverte avec la gestion GoogleSignIn
    5. Enregistrez le fichier avec Command + S

  4. Configurer le login Google dans votre code JavaScript/TypeScript

    1. Importer SocialLogin et Capacitor

      import { SocialLogin } from '@capgo/capacitor-social-login';
      import { Capacitor } from '@capacitor/core';
    2. Appeler la méthode d'initialisation (ceci doit être appelé qu'une seule fois)

      Configuration de base (mode en ligne - recommandé pour la plupart des applications) :

      // onMounted is Vue specific
      onMounted(() => {
      SocialLogin.initialize({
      google: {
      iOSClientId: '673324426943-redacted.apps.googleusercontent.com',
      mode: 'online' // Default mode
      }
      })
      })

      Configuration avancée avec des identifiants clients supplémentaires :

      onMounted(() => {
      SocialLogin.initialize({
      google: {
      webClientId: 'YOUR_WEB_CLIENT_ID', // Optional: for web platform support
      iOSClientId: 'YOUR_IOS_CLIENT_ID', // Required: from step 1
      iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Optional: same as webClientId, needed for some advanced features
      mode: 'online' // 'online' or 'offline'
      }
      })
      })
    3. Implémentez la fonction de connexion. Créez un bouton et exécutez le code suivant lors du clic

      Pour le mode en ligne :

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response - contains user data
      console.log(JSON.stringify(res))

      Pour le mode hors ligne :

      const res = await SocialLogin.login({
      provider: 'google',
      options: {
      forceRefreshToken: true // Recommended for offline mode
      }
      })
      // res contains serverAuthCode, not user data
      // Send serverAuthCode to your backend to get user information
      // Do not call SocialLogin.refresh() in offline mode
      console.log('Server auth code:', res.result.serverAuthCode)
  5. Testez votre application

    1. Construisez votre application et exécutez-la cap sync

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

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

Incompatibilité du plugin de l'écran de confidentialité

Section intitulée « Incompatibilité du plugin de l'écran de confidentialité »

Le plugin de connexion Google est incompatible avec @capacitor/écran-de-confidentialité. Lors de l'utilisation de ces deux plugins ensemble, la vue de connexion web de Google sera interrompue par l'écran de confidentialité.

Solution de contournement : Appeler await PrivacyScreen.disable(); context : Fragment de texte HTML d&#39;une chaîne de Capgo UI plus longue (clé parente `appflow_migration_step2`). Page/zone : Comparaison/migration de l&#39;Appflow / marketing de copie de site. Rôle : Phrase de copie de site. Vu dans : page ionic-appflow.astro. Préservez les termes de produit/marque et les termes de développeur de Capgo exactement. Clé de message `appflow_migration_step2` (Étape 2 de la migration d&#39;Appflow).

import { PrivacyScreen } from '@capacitor/privacy-screen';
import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();
await SocialLogin.login({
provider: 'google',
options: {}
});

Copier dans le presse-papier : « Continuer de la connexion Google sur iOS »

Titre de la section : « Continuer avec Google Login sur iOS »

Si vous utilisez Google Login sur iOS pour planifier l'authentification et les flux de compte, connectez-l’à En utilisant @capgo/capacitor-social-login pour la capacité native dans En utilisant @capgo/capacitor-social-login @capgo/capacitor-social-login pour le détail d'implémentation dans @capgo/capacitor-social-login @capgo/capacitor-passkey pour le détail d'implémentation dans @capgo/capacitor-passkey @capgo/capacitor-native-biometric pour le détail d'implémentation dans @capgo/capacitor-native-biometric, et Authentification à deux facteurs pour le détail d'implémentation dans Authentification à deux facteurs.