Zum Inhalt springen

Firebase Google Login auf iOS

GitHub

Diese Anleitung hilft Ihnen, Google Sign-In mit Firebase Authentication auf iOS zu integrieren. Ich gehe davon aus, dass Sie bereits die allgemeine Firebase Google-Einrichtung abgeschlossen haben. allgemeine Firebase Google-Einrichtung.

  1. Gehe zu deinem Projektüberblick auf console.cloud.google.com

    Übersicht über dein Firebase-Projekt
  2. Klicke auf den Add app Button

    Hinweis Firebase Add App Button
  3. Auswählen iOS

    Firebase Add App iOS Button
  4. Füllen Sie die erste Teil des Formulars

    1. Füllen Sie Apple bundle ID
      1. Öffnen Sie Xcode für Ihr Projekt npx cap open ios
      2. Doppelklicken Sie auf App App Ziel in Xcode Projekt Navigator
      3. Stellen Sie sicher, dass Sie sich im Targets -> App Ziele Abschnitt in Xcode mit App ausgewählt sind
      4. Finden Sie Ihr Bundle Identifier Bundle-Identifier-Feld in Xcode-Projekt-Einstellungen
      5. Kopieren Sie den Bundle Identifier und fügen Sie ihn in der Firebase-Konsole ein Firebase Add App iOS Bundle ID Feld
    2. Klicken Sie auf den Register app Button Firebase Add App iOS Registrierungsbutton
  5. Überspringen Download config file Schritt

    Firebase App hinzufügen iOS Download-Schaltfläche überspringen
  6. Überspringen Sie den Add firebase SDK Schritt

    Firebase App hinzufügen iOS Firebase SDK-Schaltfläche überspringen
  7. Überspringen Sie den Add initialization code Schritt

    Firebase App hinzufügen iOS Code-Initialisierung hinzufügen
  8. Klicken Sie auf die Continue to console Schaltfläche

    Firebase App hinzufügen iOS Weitere Informationen in der Konsole
  9. Holen Sie sich Ihren iOS-Kundenidentifikator und Ihren YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Gehe zu Google Cloud Console bei console.cloud.google.com

    2. Finde dein Projekt

      1. Klicke auf den Projektselector Google Cloud Console Projektselector
      2. Suche nach deinem Projekt unter der genauen Namen deines Firebase-Projekts und klicke darauf. In meinem Fall ist es sociallogin-tutorial-app. Firebase Projektselector Projekt
    3. Öffne die Suchleiste und öffne credentials

      1. Öffne die Suchleiste Google Cloud Console Suchleiste
      2. Suche nach credentials und klicke darauf APIs and Services eine (Zahl 2 auf dem Screenshot) Google Cloud Console Anmeldeinformationen Suchen
    4. Klicken Sie auf den iOS client for [YOUR_APP_ID] (auto created by Google Service) eine. In meinem Fall ist es sociallogin-tutorial-app.

      Google Cloud Console Anmeldeinformationen iOS Client ID
    5. Kopieren Sie den Client ID ebenso wie den iOS URL schemeDies wird jeweils Ihr iOSClientId und YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Google Cloud Console-Zugriffsdaten iOS Client ID Kopieren
  10. Holen Sie sich Ihren Webclient-ID

    1. Gehen Sie zurück zum Firebase-Konsolen und gehen Sie zu Build -> Authentication Firebase-Authentifizierung-Menü
    2. Klicken Sie auf den Sign-in method Firebase-Authentifizierung-Anmeldemethode-Button Klicken Sie auf den
    3. Authentifizierungsmethode-Button Google Anbieter Firebase Authentication Sign-in Methode Google-Anbieter
    4. Klicken Sie auf den Web SDK configuration Button Firebase Authentication Sign-in Methode Web SDK Konfigurationsbutton
    5. Kopieren Sie den Web client ID. Dies wird Ihr webClientId im initialize Methode des Plugins. Firebase Authentication Sign-in Methode Web SDK Konfiguration Web-Client-ID
  11. Ändern Sie die Info.plist Ihres Apps

    1. Öffnen Sie Xcode und finden Sie das Info.plist Datei

      Info.plist-Datei im Xcode-Projekt-Navigator
    2. Rechtsklick auf diese Datei und öffnen Sie sie als Quelltext code

      Rechtsklick-Menü mit Option "Als Quelltext öffnen" Code
    3. Unten an Ihrer Plist Datei sehen Sie ein </dict> Tag

      Schließen Sie den Schlüsselwort-Tag in der Info.plist-Datei
    4. Fügen Sie den folgenden Fragment vor dem Schließen des Schlüsselwort-Tags ein </dict> Info.plist mit URL-Schemata __CAPGO_KEEP_0__ eingeschlossen vor dem Schließen des Schlüsselwort-Tags

      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. Ändern Sie den YOUR_DOT_REVERSED_IOS_CLIENT_ID auf den in Schritt 9 kopierten Wert (die iOS-URL-Scheme)

      Info.plist mit dem tatsächlichen rückgekoppelten Client-ID eingefügt in URL-Schemes
  12. Ändern Sie den YOUR_IOS_CLIENT_ID auf den iOS-Client-ID, die Sie in Schritt 9 kopiert haben

  13. Speichern Sie das Datei mit Command + S

  14. Ändern Sie die AppDelegate.swift

    1. Öffnen Sie das AppDelegate

      AppDelegate.swift-Datei im Xcode-Projektnavigator
    2. Einfügen import GoogleSignIn am Anfang der Datei

      AppDelegate.swift mit GoogleSignIn-Import hinzugefügt
    3. Finden Sie die func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) Funktion

      Die ursprüngliche AnwendungsopenURL-Funktion in AppDelegate
    4. Ändern Sie die Funktion, damit sie wie folgt aussieht

      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)
      }
      Modifizierte AnwendungsopenURL-Funktion mit GoogleSignIn-Handling
    5. Speichern Sie die Datei mit Command + S

  15. Mit dem Google-Login in Ihrer App verwenden

    Sie sind jetzt bereit, das Google-Login in Ihrer App zu verwenden. Bitte verwenden Sie das authUtils.ts Datei der Beispiel-App, um mit Google zu authentifizieren.

Der Benutzer wird bei der ersten Anmeldung automatisch in Firebase Auth erstellt

Wenn die Authentifizierung hängt oder fehlschlägt:

  • Überprüfen Sie, ob idToken die Zielgruppe mit Ihrem Firebase-Web-Client-ID übereinstimmt
  • Stellen Sie sicher, dass Google Sign-In in Firebase Console aktiviert ist
  • Stellen Sie sicher, dass Info.plist die korrekten URL-Schemas und GIDClientID enthält
  • Überprüfen iOSServerClientId passt Ihrem Web-Client-ID
  • Überprüfen Sie das Beispiel-App code zur Referenz

Wenn Sie Firebase Google Login auf iOS zur Planung der Authentifizierung und Kontenflüsse verwenden Verbinden Sie es mit Mit @capgo/capacitor-social-login für die native Fähigkeit in Mit @capgo/capacitor-social-login, @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-social-login @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey @capgo/capacitor-native-biometric für die Implementierungsdetails in @capgo/capacitor-native-biometric und Zwei-Faktor-Authentifizierung für die Implementierungsdetails in Zwei-Faktor-Authentifizierung.