Passer au contenu

Firebase Google Connectez-vous sur iOS

##Présentation

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

  1. Accédez à l’aperçu de votre projet sur console.cloud.google.com

    Firebase Aperçu du projet
  2. Cliquez sur le bouton « Ajouter une application »

    Firebase Ajouter un bouton d'application

    Il est possible que vous deviez chercher ce bouton ici. Cela s’applique uniquement si vous avez déjà créé une autre application dans la console Firebase.

    Firebase Ajouter un bouton d'application
  3. Sélectionnez iOS

    Firebase Ajouter une application iOS Bouton
  4. Remplissez la première partie du formulaire

    1. Remplissez le Apple bundle ID
      1. Ouvrez Xcode sur votre application en utilisant npx cap open ios
      2. Double-cliquez sur App Cible de l'application dans le navigateur de projet Xcode
      3. Assurez-vous que vous êtes sur Targets -> App Section Cibles dans Xcode avec l'application sélectionnée
      4. Trouvez votre « identifiant de paquet » Champ Identifiant du bundle dans les paramètres du projet Xcode

        L’identifiant affiché ici sera différent de celui que j’utiliserai pour le reste du guide. J’utiliserai app.capgo.plugin.SocialLogin pour le reste du guide.

      5. Copiez le « Bundle Identifier » et collez-le dans la console Firebase. Firebase Ajouter une application iOS Champ d'ID de bundle
    2. Cliquez sur le bouton « Enregistrer l’application » Firebase Ajouter une application iOS Bouton d'enregistrement
  5. Ignorez l’étape « Télécharger le fichier de configuration »

    Firebase Ajouter une application iOS Bouton Ignorer le téléchargement
  6. Ignorez l’étape Add firebase SDK

    Firebase Ajouter une application iOS Ignorer le téléchargement Firebase SDK Bouton
  7. Ignorez l’étape « Ajouter un code d’initialisation »

    Firebase Ajouter une application iOS Ignorer le bouton Ajouter un code d'initialisation
  8. Cliquez sur le bouton « Continuer vers la console »

    Firebase Ajouter une application iOS Bouton Continuer vers la console
  9. Obtenez votre identifiant client iOS et votre YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Accédez à Google Cloud Console à l’adresse console.cloud.google.com

    2. Trouvez votre projet

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

      1. Ouvrez la barre de recherche Google Barre de recherche Cloud Console
      2. Recherchez credentials et cliquez sur celui « API et services » (numéro 2 sur la capture d’écran) Google Recherche d'identifiants Cloud Console
    4. Cliquez sur celui iOS client for [YOUR_APP_ID] (auto created by Google Service). Dans mon cas, il s’agit de sociallogin-tutorial-app.

      Google Identifiants Cloud Console iOS ID client
    5. Copiez le Client ID ainsi que le iOS URL scheme. Ce seront respectivement vos iOSClientId et YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Vous passerez le iOSClientId dans la méthode initialize du plugin, tandis que vous utiliserez le YOUR_DOT_REVERSED_IOS_CLIENT_ID dans le fichier Info.plist de votre application, comme expliqué dans la prochaine partie de ce guide. :::Google Identifiants Cloud Console iOS Copie de l'ID client

  10. Obtenez votre identifiant client Web

    1. Revenez à la console Firebase et accédez à Build -> Authentication Firebase Menu d'authentification
    2. Cliquez sur le bouton « Méthode de connexion » Firebase Bouton de méthode de connexion d'authentification
    3. Cliquez sur le fournisseur Google Firebase Méthode de connexion par authentification Google Fournisseur
    4. Cliquez sur le bouton Web SDK configuration Firebase Méthode de connexion par authentification Web SDK Bouton de configuration
    5. Copiez l’« ID client Web ». Ce sera votre webClientId dans la méthode initialize du plugin. Firebase Méthode de connexion par authentification Web SDK Configuration ID client Web
  11. Modifiez l’Info.plist de votre application

    1. Ouvrez Xcode et recherchez le fichier Info.plist

      Fichier Info.plist dans le navigateur de projet Xcode
    2. Faites un clic droit sur ce fichier et ouvrez-le en tant que code source

      Menu contextuel affichant l'option Ouvrir en tant que code source
    3. Au bas de votre fichier Plist, vous verrez une balise </dict>

      Fermeture de la balise dict dans le fichier Info.plist
    4. Insérez le fragment suivant juste avant la balise de fermeture </dict>

      Info.plist avec le code des schémas d'URL inséré avant la fermeture de la balise dict
      <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. Remplacez YOUR_DOT_REVERSED_IOS_CLIENT_ID par la valeur copiée à l’étape 9 (le schéma d’URL iOS).

      Info.plist avec l'ID client inversé réel inséré dans les schémas d'URL

      Assurez-vous que cette valeur STARTS avec com.googleusercontent.apps

  12. Remplacez le YOUR_IOS_CLIENT_ID par l’ID client iOS que vous avez copié à l’étape 9.

  13. Enregistrez le fichier avec Command + S

  14. Modifiez le AppDelegate.swift

    1. Ouvrez l’AppDelegate

      Fichier AppDelegate.swift dans le navigateur de projet Xcode
    2. Insérez « importer GoogleSignIn » en haut du fichier

      AppDelegate.swift avec importation GoogleSignIn ajoutée
    3. Recherchez la fonction func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])

      Fonction openURL de l'application originale 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)
      }
      Fonction openURL de l'application modifiée avec gestion GoogleSignIn
    5. Enregistrez le fichier avec Command + S

  15. Utilisation de la connexion Google dans votre application

    À cette étape, vous êtes prêt à utiliser la connexion Google dans votre application. Veuillez utiliser le fichier authUtils.ts de l’exemple d’application pour vous authentifier auprès de Google.

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

Si l’authentification se bloque ou échoue :

  • Vérifiez que l’audience idToken correspond à votre identifiant de client Web Firebase.
  • Vérifiez que la connexion Google est activée dans la console Firebase.
  • Assurez-vous qu’Info.plist dispose des schémas d’URL et du GIDClientID corrects.
  • Vérifiez que iOSServerClientId correspond à votre identifiant client Web
  • Consultez l’exemple de code d’application pour référence.