Aller au contenu

Firebase Google Login sur iOS

GitHub

Ce guide vous aidera à intégrer Google Sign-In avec Firebase Authentication sur iOS. Je pars du principe que vous avez déjà terminé la configuration générale de Google avec Firebase.

  1. Accédez à l'aperçu de votre projet sur console.cloud.google.com

    Vue d'ensemble du projet Firebase
  2. Cliquez sur Add app bouton

    Bouton Add App de Firebase Bouton Add App de Firebase
  3. Sélectionnez iOS

    Bouton « Ajouter une application iOS » dans Firebase
  4. Remplissez la première partie du formulaire

    1. Remplissez le Apple bundle ID
      1. Ouvrez Xcode pour votre application avec npx cap open ios
      2. Double-cliquez sur App App target in Xcode project navigator
      3. Assurez-vous d'être dans la Targets -> App section Targets de Xcode avec l'application sélectionnée
      4. Trouvez votre Bundle Identifier champ Bundle Identifier dans les paramètres du projet Xcode
      5. Copiez le Bundle Identifier et collez-le dans la console Firebase Firebase : champ Bundle ID pour l'ajout d'une app iOS
    2. Cliquez sur Register app bouton Bouton d'enregistrement de l'application iOS Firebase
  5. Ignorez l'étape Download config file étape

    Firebase : bouton Skip Download pour l'ajout d'une app iOS
  6. Ignorez l'étape Add firebase SDK étape

    Firebase Ajouter une app iOS Ignorer le téléchargement Firebase SDK Bouton
  7. Ignorez le Add initialization code étape

    Firebase Ajouter une app iOS Ignorer l'ajout de l'initialisation Code Bouton
  8. Cliquez sur Continue to console bouton

    Firebase Ajouter une app iOS Continuer vers la console Bouton
  9. Récupérez votre client ID iOS et votre YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Allez sur la Google Cloud Console sur console.cloud.google.com

    2. Trouvez votre projet

      1. Cliquez sur le sélecteur de projet Sélecteur de projet Google Cloud Console
      2. Recherchez votre projet en saisissant le nom exact de votre projet Firebase, puis cliquez dessus. Dans mon cas, il s'agit de sociallogin-tutorial-app. Sélecteur de projet Firebase Project
    3. Ouvrez la barre de recherche et ouvrez credentials

      1. Ouvrez la barre de recherche Barre de recherche Google Cloud Console
      2. Recherchez credentials et cliquez sur APIs and Services celui-ci (numéro 2 sur la capture d'écran) Recherche d'identifiants Google Cloud Console
    4. Cliquez sur iOS client for [YOUR_APP_ID] (auto created by Google Service) un. Dans mon cas, c'est sociallogin-tutorial-app.

      l'ID client iOS des identifiants Google Cloud Console
    5. Copiez le Client ID ainsi que le iOS URL scheme. Ce seront respectivement votre iOSClientId et YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Copier l'iOS Client ID des identifiants Google Cloud Console
  10. Récupérez votre web client ID

    1. Retournez sur la console Firebase et allez dans Build -> Authentication Menu Firebase Authentication
    2. Cliquez sur Sign-in method bouton Bouton Firebase Authentication Sign-in Method
    3. Cliquez sur Google fournisseur Méthode de connexion Google via Firebase Authentication
    4. Cliquez sur Web SDK configuration bouton Bouton de configuration Web SDK de la méthode de connexion Firebase Authentication
    5. Copiez le Web client ID. Ce sera votre webClientId dans l' initialize méthode du plugin. ID client Web SDK de la méthode de connexion Firebase Authentication
  11. Modifiez le fichier Info.plist de votre app

    1. Ouvrez Xcode et trouvez le Info.plist fichier

      Fichier Info.plist dans le navigateur de projet Xcode
    2. Faites un clic droit sur ce fichier et ouvrez-l’en tant que source code

      Menu clic droit affichant l'option Open As Source Code
    3. Au bas de votre Plist fichier, vous verrez une </dict> balise

      Balise de fermeture dict dans le fichier Info.plist
    4. Insérez le fragment suivant juste avant la fermeture de la </dict> balise

      Info.plist avec les URL schemes code insérés avant la balise de fermeture dict
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
      <key>GIDClientID</key>
      <string>YOUR_IOS_CLIENT_ID.apps.googleusercontent.com</string>
    5. Modifiez le YOUR_DOT_REVERSED_IOS_CLIENT_ID par la valeur copiée à l'étape 9 (l'URL scheme iOS)

      Info.plist avec l'ID client inversé inséré dans les URL schemes
  12. Modifiez le YOUR_IOS_CLIENT_ID par l'ID client iOS copié à l'étape 9

  13. Enregistrez le fichier avec Command + S

  14. 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

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

      Fonction application openURL originale 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)
      }
      Fonction application openURL modifiée avec la gestion de GoogleSignIn
    5. Enregistrez le fichier avec Command + S

  15. Utiliser la connexion Google dans votre application

    À cette étape, vous êtes prêt à utiliser la connexion Google dans votre application. Veuillez utiliser authUtils.ts fichier de l'application d'exemple pour l'authentification avec Google.

L'utilisateur sera automatiquement créé dans Firebase Auth lors de sa première connexion

Si l'authentification bloque ou échoue :

  • Vérifiez que l' idToken audience correspond à votre ID client web Firebase
  • Vérifiez que Google Sign-In est activé dans la console Firebase
  • Assurez-vous que le fichier Info.plist contient les bons URL schemes et le GIDClientID
  • Verify iOSServerClientId correspond à votre ID client web
  • Consultez les application exemple code pour référence

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