Passer à la navigation

Connexion Google Firebase sur iOS

GitHub

Ce guide vous aidera à intégrer l'authentification Google Sign-In avec Firebase Authentication sur iOS. Je suppose que vous avez déjà complété les étapes 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 dans votre projet d'application npx cap open ios
      2. Faites double cliquer sur App Cible de l'application dans le navigateur de projet Xcode
      3. Assurez-vous d'être sur Targets -> App Section des 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. Copiez le Bundle Identifier et collez-le dans le console Firebase Champ d'identifiant de bundle Firebase Add App iOS
    2. Cliquez sur le Register app bouton Ajouter l'application Firebase iOS Bouton d'enregistrement
  5. Sauter la Download config file étape

    Bouton de téléchargement Firebase iOS Sauter
  6. Sauter la Add firebase SDK étape

    Bouton de téléchargement Firebase iOS Sauter Firebase SDK
  7. Sauter la Add initialization code étape

    Bouton d'initialisation Firebase iOS Sauter l'initialisation Code
  8. Cliquez sur le Continue to console bouton

    Ajouter l'application Firebase iOS Continuez à la console 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 de 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 sur le APIs and Services le (le numéro 2 sur l'écran d'écran) Recherchez les Clés de Console Google Cloud
    4. Cliquez sur le iOS client for [YOUR_APP_ID] (auto created by Google Service) le. Dans mon cas, il s'agit de sociallogin-tutorial-app.

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

      Clé de client iOS de Cloud Console Google Copier
  10. Obtenez votre ID de client web

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

    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 fermeture dans le fichier Info.plist
    4. Insérez le fragment suivant juste avant la balise de fermeture </dict> tag

      Info.plist avec 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 le 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 inversé réel inséré dans les schémas d'URL
  12. Changer le YOUR_IOS_CLIENT_ID en l'ID du client iOS que vous avez copié à l'étape 9

  13. Sauvegardez le fichier avec Command + S

  14. Modifiez le AppDelegate.swift

    1. Ouvrez le fichier AppDelegate

      Le fichier AppDelegate.swift dans le navigateur de projet Xcode
    2. Insérez import GoogleSignIn à la partie supérieure 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)
      }
      La fonction d'ouverture de l'application a été modifiée avec la gestion de GoogleSignIn
    5. Enregistrez 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 pour vous authentifier avec Google.

L’utilisateur sera créé automatiquement dans Firebase Auth lors de la première connexion

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

  • Vérifiez que idToken l'audience correspond à votre ID de client Firebase web
  • Vérifiez que Google Sign-In est activé dans le Console Firebase
  • Assurez-vous que Info.plist comporte les schémas URL corrects et GIDClientID
  • Vérifiez iOSServerClientId correspond à votre ID client web
  • Examinez l'application d'exemple __CAPGO_KEEP_0__ example app code Continuez de la section "Continuez de la Firebase Google Login sur iOS"

Section titled “Continuez de la Firebase Google Login sur iOS” Si vous utilisez la Firebase Google Login sur iOS pour planifier l'authentification et les flux de compte, connectez-l’avec 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.