Aller directement au contenu

Login Google Firebase sur iOS

GitHub

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

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

    Vue d'ensemble de 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. Remplissez la première partie du formulaire

    1. Remplissez le Apple bundle ID
      1. Ouvrez Xcode à votre application en utilisant npx cap open ios
      2. Double-cliquez sur App Cible d'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 du projet Xcode
      5. Copiez le Bundle Identifier et collez-le dans la console Firebase Champ d'identification de l'application iOS Firebase Ajouter l'application
    2. Cliquez sur le Register app bouton Firebase Ajouter l'application iOS S'inscrire
  5. Passer à la suite 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 du bouton
  8. Cliquez sur le Continue to console bouton

    Continuer à l'application Firebase iOS Console Button
  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 dessus APIs and Services un (le numéro 2 sur l'écran d'affichage) Recherche de Clés de l'Espace de Contrôle Google Cloud
    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 l'Espace de Contrôle Google Cloud
    5. Copiez le Client ID ainsi que le iOS URL scheme. Cela sera respectivement votre iOSClientId et YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Obtenez votre ID client web
  10. Retournez au console Firebase et allez à

    1. Menu d'authentification Firebase Build -> Authentication Cliquez sur le
    2. bouton Sign-in method bouton d'authentification Firebase Sign-in Cliquez sur le
    3. bouton d'authentification Firebase Sign-in Google fournisseur Méthode de connexion Firebase Authentication Google Fournisseur
    4. Cliquez sur le Web SDK configuration bouton Méthode de connexion Firebase Authentication Web SDK Configuration Bouton
    5. Copiez le Web client ID. Cela sera votre webClientId dans le initialize méthode du plugin. 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. En bas de votre Plist fichier, vous verrez un </dict> tag

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

      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. Changer la YOUR_DOT_REVERSED_IOS_CLIENT_ID à la valeur copiée dans 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 à l'ID Client iOS que vous avez copié dans l'étape 9

  13. Enregistrer le fichier avec Command + S

  14. Modifier le AppDelegate.swift

    1. Ouvrez le fichier AppDelegate

      Le fichier AppDelegate.swift dans le navigateur de projet Xcode
    2. Insérer 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] = [:]) fonction

      La fonction d'ouverture d'application 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 d'application modifiée avec prise en charge de GoogleSignIn
    5. Enregistrez le fichier avec Command + S

  15. Utiliser l'authentification Google dans votre application

    À ce stade, vous êtes prêt à utiliser l'authentification Google dans votre application. Veuillez utiliser le fichier __CAPGO_KEEP_0__ pour vous authentifier avec Google.

Le compte utilisateur sera créé automatiquement dans Firebase Auth lors de la première connexion

Vérifiez que

  • __CAPGO_KEEP_0__ idToken correspond à l'ID client Firebase web
  • Vérifiez que l'authentification Google est activée dans le console Firebase
  • Assurez-vous que le fichier Info.plist contient les schémas URL corrects et l'ID client GID
  • Vérifiez iOSServerClientId correspond à votre ID du client web
  • Examinez l'application d'exemple code en tant que référence

Si vous utilisez Firebase Google Login on iOS pour planifier l'authentification et les flux de compte, connectez-le avec 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.