Passer à la navigation

Firebase Google Login sur iOS

GitHub

Cette guide vous aidera à intégrer Google Sign-In avec Firebase Authentication sur iOS. Je suppose que vous avez déjà complété le 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 à 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 l'application sélectionnée
      4. Trouvez votre Bundle Identifier Champ d'identification de l'archive dans les paramètres de projet Xcode
      5. Copiez le Bundle Identifier et collez-le dans la console Firebase Champ d'identification d'application iOS Firebase Ajouter
    2. Cliquez sur le Register app bouton Ajoutez l'application Firebase iOS Bouton d'enregistrement
  5. Surcharger la Download config file étape

    Ajoutez l'application Firebase iOS Bouton de téléchargement de saut
  6. Surcharger la Add firebase SDK étape

    Ajoutez l'application Firebase iOS Bouton de téléchargement de saut Firebase SDK
  7. Surcharger la Add initialization code étape

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

    Ajouter l'application Firebase iOS Continuez vers la console
  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, 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 Google Cloud
      2. Recherchez et cliquez sur le credentials et cliquez sur l' APIs and Services un (le numéro 2 sur l'écran d'affichage) Recherchez des Clés de Console Google Cloud
    4. Cliquez sur l' iOS client for [YOUR_APP_ID] (auto created by Google Service) un. Dans mon cas, c'est 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.

      Identifiant client iOS Google Cloud Console Credentials Copier
  10. Obtenez votre ID 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 Connectez-vous au bouton
    3. Cliquez sur le Google fournisseur Méthode d'authentification Firebase Connectez-vous au fournisseur Google
    4. Cliquez sur le Web SDK configuration bouton Méthode d'authentification Firebase Configuration Web SDK Bouton de configuration
    5. Copiez le Web client ID. Cela sera votre webClientId dans initialize méthode du plugin. Méthode d'authentification Firebase Configuration Web SDK ID de client 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 d'ouverture 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 de fermeture

      Info.plist avec les schémas d'URL code insérés avant la balise de fermeture du 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. Modifier 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 réel inséré dans les schémas d'URL
  12. Modifier le YOUR_IOS_CLIENT_ID au Client ID 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 en haut du fichier

      Le fichier AppDelegate.swift avec l'import GoogleSignIn 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. 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 openURL de l'application a été modifiée avec prise en charge 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 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
  • Révisez l'application d'exemple __CAPGO_KEEP_0__ example app code Continuez de la section "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-le

à Authentication and account flows planning with Firebase Google Login on iOS to plan authentication and account flows, connect it with 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.