Passer à la navigation

Firebase Google Login sur iOS

GitHub

Ce guide vous aidera à intégrer l'authentification Google avec l'authentification Firebase sur iOS. Je suppose que vous avez déjà complété la configuration Firebase Google générale.

  1. Allez dans votre vue d'ensemble du projet sur console.cloud.google.com

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

    Bouton d'ajout d'application Firebase Bouton Ajouter l'application Firebase
  3. Sélectionner iOS

    Bouton Ajouter l'application Firebase iOS
  4. Remplir la première partie du formulaire

    1. Remplir le Apple bundle ID
      1. Ouvrir Xcode à votre application en utilisant npx cap open ios
      2. Double-cliquer sur App Cible de l'application dans le navigateur de projet Xcode
      3. Assurez-vous d'être sur Targets -> App Section Cibles dans Xcode avec l'application sélectionnée
      4. Trouvez votre Bundle Identifier Champ d'identification de l'application dans les paramètres de projet Xcode
      5. Copiez le Bundle Identifier et collez-le dans la console Firebase Champ d'ID d'application iOS Firebase Ajouter
    2. Cliquez sur le Register app bouton Firebase Ajouter l'application iOS S'inscrire
  5. Passer à côté Download config file étape

    Ajouter l'application Firebase iOS Ignorer le bouton de téléchargement
  6. Ignorer l' Add firebase SDK étape

    Ajouter l'application Firebase iOS Ignorer le bouton de téléchargement Firebase SDK
  7. Ignorer l' Add initialization code étape

    Ajouter l'application Firebase iOS Ignorer l'initialisation Code
  8. Cliquez sur le Continue to console bouton

    Continuer à la console Firebase Ajouter l'application iOS Bouton
  9. Obtenez votre ID client iOS et votre YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Allez à la console Google Cloud à console.cloud.google.com

    2. Trouvez votre projet

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

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

      Clé de client iOS de Google Cloud Console de compte
    5. Copiez le Client ID ainsi que le iOS URL schemeCela sera respectivement votre iOSClientId et YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Retournez au console Firebase et allez à
  10. Menu d'authentification Firebase

    1. Cliquez sur le Build -> Authentication bouton
    2. Bouton de méthode d'authentification Firebase Sign-in method Cliquez sur le button
    3. Bouton Google fournisseur Méthode de connexion Firebase Authentication Google Provider
    4. Cliquez sur le Web SDK configuration bouton Méthode de connexion Firebase Authentication Web SDK Configuration Bouton de configuration
    5. Copiez le Web client ID. Cela sera votre webClientId dans le initialize méthode de l'extension. Méthode de connexion Firebase Authentication Web SDK Configuration Client ID Web
  11. Modifiez les informations de votre application Info.plist

    1. Ouvrez Xcode et trouvez le Info.plist fichier

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

      Menu contextuel montrant l'option Ouvrir en tant que source Code
    3. À la fin de votre Plist fichier, vous verrez un </dict> tag

      Balise de fin de dictionnaire dans le fichier Info.plist
    4. Insérez le fragment suivant juste avant la balise de fin de dictionnaire </dict> Fichier Info.plist avec les schémas de URL __CAPGO_KEEP_0__ insérés avant la balise de fin de dictionnaire

      Info.plist with URL schemes code inserted before closing dict tag
      <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. Changez la YOUR_DOT_REVERSED_IOS_CLIENT_ID par la valeur copiée à l'étape 9 (le schéma URL iOS)

      Info.plist avec le client ID réel inséré dans les schémas URL
  12. Changez la YOUR_IOS_CLIENT_ID par le Client ID iOS que vous avez copié à l'étape 9

  13. Enregistrez le fichier avec Command + S

  14. Modifiez le AppDelegate.swift

    1. Ouvrez le AppDelegate

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

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

      Application d'origine openURL fonction 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 openURL fonction avec GoogleSignIn prise en charge
    5. Enregistrer le fichier avec Command + S

  15. Utilisez le login Google dans votre application

    À ce stade, vous êtes prêt à utiliser le login Google dans votre application. Veuillez utiliser le fichier authUtils.ts du exemple d'application pour vous authentifier avec Google.

Le compte utilisateur sera créé automatiquement dans Firebase Auth lors du premier connexion

Si l'authentification est bloquée ou échoue :

  • Vérifiez que idToken correspond à l'ID client Firebase web
  • Vérifiez que Google Sign-In est activé dans Firebase Console
  • Assurez-vous que Info.plist a les schémas URL corrects et GIDClientID
  • Vérifiez iOSServerClientId correspond à votre ID client web
  • Révisez l'application d'exemple __CAPGO_KEEP_0__ example app code Continuez depuis Firebase Google Login sur iOS

Section intitulée “Continuez depuis Firebase Google Login sur iOS”

Si vous utilisez

Firebase Google Login sur iOS 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, pour la capacité native dans En utilisant @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 dans Authentification à deux facteurs.