Passer à la navigation

Firebase Google Login sur iOS

Cette guide vous aidera à intégrer Google Sign-In avec Firebase Authentication sur iOS. Je suppose que vous avez déjà complété les étapes nécessaires. Configuration Firebase Google générale.

  1. Allez à 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 à partir de votre application npx cap open ios
      2. Double-cliquer sur App Cible de l'application dans le navigateur de projet Xcode
      3. S'assurer que vous êtes sur Targets -> App Section cible dans Xcode avec App sélectionnée
      4. Trouvez votre Bundle Identifier Champ d'identifiant de bundle dans les paramètres de projet Xcode
      5. Copiez le Bundle Identifier et collez-le dans la console Firebase Champ d'identifiant de bundle iOS Firebase Ajouter l'application
    2. Cliquez sur le Register app bouton Ajoutez l'application Firebase iOS Bouton d'enregistrement
  5. Évitez le Download config file étape

    Ajoutez l'application Firebase iOS Bouton de téléchargement de skip
  6. Évitez le Add firebase SDK étape

    Ajoutez l'application Firebase iOS Bouton de skip de téléchargement de Firebase SDK
  7. Évitez le Add initialization code étape

    Ajoutez l'application Firebase iOS Bouton de skip d'initialisation de Code
  8. Cliquez sur le Continue to console bouton

    Ajouter l'application Firebase iOS Continuez vers la console Bouton
  9. Obtenez votre ID de client iOS et votre YOUR_DOT_REVERSED_IOS_CLIENT_ID

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

    2. Trouvez votre projet

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

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

      Clés de Console Cloud Google Client ID iOS
    5. Copiez Client ID ainsi que iOS URL scheme. Cela sera respectivement votre iOSClientId et YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Identifiant client iOS de Cloudflare Console Google Cloud Console Credentials Copy
  10. Obtenez votre identifiant client web

    1. Retournez dans la console Firebase et allez à Build -> Authentication Menu d'authentification Firebase
    2. Cliquez sur le Sign-in method bouton Méthode de connexion Firebase Authentification Bouton de connexion
    3. Cliquez sur le Google fournisseur Méthode de connexion Firebase Authentification Fournisseur Google de connexion
    4. Cliquez sur le Web SDK configuration bouton Méthode de connexion Firebase Authentification Configuration Web SDK Bouton de configuration
    5. Copiez le Web client ID. Cela sera votre webClientId dans initialize méthode du plugin. Méthode de connexion Firebase Authentification Configuration Web SDK Client ID de l'application Web
  11. Modifiez les informations de votre application dans Info.plist

    1. Ouvrez Xcode et trouvez le fichier Info.plist le fichier Info.plist dans le navigateur de projet Xcode

      Cliquez avec le bouton droit sur ce fichier et ouvrez-le en tant que source __CAPGO_KEEP_0__
    2. Menu contextuel montrant l'option d'ouverture en tant que source code

      Right-click menu showing Open As Source Code option
    3. le tag Plist Tag de fermeture dans le fichier Info.plist </dict> Insérez le fragment suivant juste avant le tag de fermeture

      Modifiez les informations de votre application dans Info.plist
    4. Ouvrez Xcode et trouvez le fichier </dict> le fichier Info.plist dans le navigateur de projet Xcode

      Info.plist avec les schémas d'URL code insérés avant la balise de fermeture de dictionnaire
      <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. Changer la YOUR_DOT_REVERSED_IOS_CLIENT_ID en la valeur copiée à l'étape 9 (le schéma d'URL iOS)

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

  13. Sauvegardez le fichier avec Command + S

  14. Modifier le AppDelegate.swift

    1. Ouvrez le AppDelegate

      Le fichier AppDelegate.swift dans le navigateur de projet Xcode
    2. Insérer import GoogleSignIn À la tête du fichier

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

      La fonction d'ouverture d'application openURL dans AppDelegate
    4. Modifier 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)
      }
      La fonction openURL de l'application a été modifiée avec prise en charge de GoogleSignIn
    5. Enregistrez le fichier avec Command + S

  15. Utilisation du compte Google dans votre application

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

L'utilisateur sera créé automatiquement dans Firebase Auth lors du premier connexion

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

  • Vérifiez que idToken l'audience correspond à votre ID client Firebase web
  • Vérifiez que Google Sign-In est activé dans le Console Firebase
  • Assurez-vous que Info.plist a les schémas URL corrects et GIDClientID
  • Vérifiez iOSServerClientId correspond à votre ID client web
  • Examinez l' application d'exemple code en référence

Si vous utilisez Firebase Google Login sur iOS 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.