Passer à la navigation principale

Configuration de l'authentification Google Firebase sur iOS

GitHub

Ce guide vous aidera à intégrer Google Sign-In avec l'authentification Firebase 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 Vue d'ensemble du projet Firebase

    Cliquez sur le
  2. bouton d'ajout d'application Firebase Add app bouton

    console.cloud.google.com 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 application en utilisant npx cap open ios
      2. Faites un double clic sur App Cible de l'application dans le navigateur de projet Xcode
      3. Assurez-vous d'être sur Targets -> App Section cible 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 d'ajout Firebase iOS Sauter Code
  8. Cliquez sur le Continue to console bouton

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

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

      Clé de client iOS de Google Cloud Console - Copier les informations de connexion
  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 de connexion Firebase d'authentification Bouton de connexion
    3. Cliquez sur le Google fournisseur Méthode de connexion Firebase d'authentification Fournisseur de connexion Google
    4. Cliquez sur le Web SDK configuration bouton Méthode de connexion Firebase d'authentification Web Configuration du bouton SDK
    5. Copiez le Web client IDCeci sera votre webClientId dans le initialize méthode de la Méthode de connexion Firebase d'authentification Web Configuration Client ID Web SDK
  11. Modifier les informations de votre application

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

      Info.plist avec schémas d'URL code insérés avant la fermeture de la balise 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. Enregistrez le fichier avec Command + S

  14. Modifier le AppDelegate.swift

    1. Ouvrez l’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 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. 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. Utilisez la connexion Google dans votre application

    À ce stade, vous êtes prêt à utiliser la connexion Google dans votre application. Utilisez le authUtils.ts fichier de l'application d'exemple pour vous connecter avec Google.

Utilisateur 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 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
  • Révisez l' application d'exemple code en référence

Continuez de la configuration de Firebase Google Login sur iOS

Titre de la section « Continuez de la configuration de Firebase Google Login sur iOS »

Si vous utilisez Firebase Google Login sur iOS pour planifier l'authentification et les flux de compte, connectez-l’à Utilisation de @capgo/capacitor-social-login pour la capacité native dans Utilisation de @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.