Passer à la navigation

Firebase Google Login 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à complété la mise en place générale de Google Firebase. Note.

  1. Allez à 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 Ajouter l'application Firebase Bouton Ajouter l'application Firebase
  3. Sélectionnez iOS

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

    1. Remplissez Apple bundle ID
      1. Ouvrez Xcode pour votre application 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 Identifiant de bundle dans les paramètres de projet Xcode
      5. Copiez le Bundle Identifier et collez-le dans le console Firebase Champ d'ID de l'application iOS Firebase Ajouter l'application
    2. Cliquez sur le Register app bouton Bouton d'enregistrement de l'application iOS Firebase Ajouter l'application
  5. Évitez la Download config file étape

    Bouton de téléchargement de l'application iOS Firebase Ajouter l'application Évitez l'étape
  6. Évitez la Add firebase SDK étape

    Ajoutez l'application Firebase iOS Ignorez le téléchargement Firebase SDK Bouton
  7. Ignorcez l'étape Add initialization code Ajoutez l'application Firebase iOS Ignorez l'initialisation __CAPGO_KEEP_0__ Bouton

    Firebase Add App iOS Skip Add Initialization Code Button
  8. bouton Continue to console Continuez vers le console

    Obtenez votre ID de client iOS et votre
  9. Allez à la console Cloud Google à YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. console.cloud.google.com Trouvez votre projet

    2. Cliquez sur le sélecteur de projet

      1. Console Google Cloud Console Google Cloud Sélecteur de Projet
      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 Firebase Projet
    3. Ouvrez la barre de recherche et ouvrez credentials

      1. Ouvrez la barre de recherche Barre de Recherche Console Google Cloud
      2. Recherchez credentials et cliquez sur le APIs and Services un (le numéro 2 sur l'écran d'écoute) Recherche de Clés Console 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.

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

      Clés de connexion Google Cloud Console pour iOS 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 Bouton de méthode d'authentification Firebase
    3. Cliquez sur le Google fournisseur Bouton de fournisseur d'authentification Google Firebase
    4. Cliquez sur le Web SDK configuration bouton Méthode de connexion Firebase Authentication Sign-in Method Web SDK Configuration Bouton
    5. Copiez le Web client IDCela sera votre webClientId dans le initialize méthode du plugin. Méthode de connexion Firebase Authentication Sign-in Method 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. Au bas de votre fichier, vous verrez un tag Plist Insertez le fragment suivant juste avant la fermeture du tag </dict> tag de fermeture dans le fichier Info.plist

      Info.plist avec les schémas URL __CAPGO_KEEP_0__ insérés avant la fermeture du tag
    4. Copier dans le presse-papier </dict> Modifier la valeur à

      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. Info.plist with URL schemes __CAPGO_KEEP_0__ inserted before closing dict tag YOUR_DOT_REVERSED_IOS_CLIENT_ID Change the to the value copied in step 9 (the iOS URL scheme)

      Info.plist with actual reversed client ID inserted in URL schemes
  12. Modifier YOUR_IOS_CLIENT_ID à l'ID du 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 AppDelegate

      Le fichier AppDelegate.swift dans l'explorateur de projet Xcode
    2. Insérer import GoogleSignIn en haut du fichier

      AppDelegate.swift avec l'import GoogleSignIn ajouté
    3. Trouvez le func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) fonction

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

  15. Utilisation du Google login dans votre application

    À ce stade, vous êtes prêt à utiliser le Google login dans votre application. Veuillez utiliser le fichier authUtils.ts du fichier d'exemple de l'application pour vous authentifier avec Google.

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

Si l'authentification s'arrête ou échoue :

  • Vérifiez que idToken l'audience correspond à votre ID client web Firebase
  • Vérifiez que Google Sign-In est activé dans Firebase Console
  • Assurez-vous que Info.plist a les schémas URL corrects et GIDClientID
  • Vérifiez iOSServerClientId que correspond à votre ID client web
  • Examinez l'application d'exemple __CAPGO_KEEP_0__ example app code pour référence

Continuez à partir de Firebase Google Login sur iOS

Section intitulée “Continuez à partir de Firebase Google Login sur iOS”

Si vous utilisez Firebase Google Login sur iOS pour planifier l'authentification et les flux de compte, connectez-le avec 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-biometrique pour les détails d'implémentation dans @capgo/capacitor-native-biometrique, et Authentification à deux facteurs pour les détails d'implémentation dans Authentification à deux facteurs.