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. Hinweis.

Abschnitt mit dem Titel „Einrichtungsschritte“

__CAPGO_KEEP_0__
  1. Gehe zu deiner Projektübersicht auf console.cloud.google.com

    Firebase Projektübersicht
  2. Klicke auf den Add app Button

    Firebase App hinzufügen Button Firebase App hinzufügen Button
  3. Wähle iOS

    Firebase App hinzufügen 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 App 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 Hinzufügen von App iOS Bundle ID Feld
    2. Klicken Sie auf den Register app Button Firebase Hinzufügen von App iOS Registrierungsbutton
  5. Überspringen Sie den Download config file Schritt

    Firebase Hinzufügen von App iOS Skip Download Button
  6. Überspringen Sie den Add firebase SDK Schritt

    Firebase Add App iOS Skip Download Firebase SDK Button
  7. den Add initialization code Schritt

    Firebase Add App iOS Skip Add Initialization Code Button
  8. Auf den Continue to console Button

    Firebase Add App iOS Continue to Console Button
  9. Ermitteln Sie Ihren iOS-Kunden-ID und Ihre YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Gehen Sie zu Google Cloud Console bei console.cloud.google.com

    2. Finden Sie Ihr Projekt

      1. Klicken Sie auf den Projektselector Google Cloud Console Projekt-Selektor
      2. Suchen Sie Ihr Projekt genau nach dem Namen Ihres Firebase-Projekts und klicken Sie darauf. In meinem Fall ist es sociallogin-tutorial-app. Firebase Projekt-Selektor Projekt
    3. Öffnen Sie die Suchleiste und öffnen credentials

      1. Öffnen Sie die Suchleiste Google Cloud Console Suchleiste
      2. Suchen Sie nach credentials und klicken Sie auf das APIs and Services eine (Zahl 2 auf dem Screenshot) Google Cloud Console Anmeldeinformationen-Suche
    4. Klicken Sie auf das 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 Client ID sowie die iOS URL schemeDies wird jeweils Ihre iOSClientId und YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Google Cloud Console Anmeldeinformationen iOS Client ID Kopieren
  10. Ermitteln Sie Ihren Webclient-IDs

    1. Gehen Sie zurück in die Firebase-Konsole und gehen Sie zu Build -> Authentication Firebase-Anmeldemenu
    2. Klicken Sie auf den Sign-in method Firebase-Anmeldemethode-Button Klicken Sie auf den
    3. Anbieter Google Firebase-Anmeldemethode-Cloud-Provider Klicken Sie auf den
    4. Button Web SDK configuration Firebase-Anmeldemethode Google-Provider Firebase Authentication Anmeldemethode Web SDK Konfiguration Schaltfläche
    5. Kopieren Sie den Web client IDDies wird Ihr webClientId in der initialize Methode des Plugins. Firebase Authentication Anmeldemethode Web SDK Konfiguration Web-Client-ID
  11. Ändern Sie die Info.plist-Datei Ihres Apps

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

      Info.plist-Datei im Xcode-Projekt-Explorer
    2. Recht klicken Sie auf diese Datei und öffnen Sie sie als Quelle code

      Rechtsklick-Menü, das die Option "Als Quelle öffnen" Code anzeigt
    3. Unten an deiner Plist Datei siehst du ein </dict> Tag

      Schließendes Schlüssel-Wert-Tag in Info.plist-Datei
    4. Einfügen Sie den folgenden Fragment vor dem schließenden </dict> Tag

      Info.plist mit URL-Schemes code eingegeben vor schließendem Schlüssel-Wert-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. Ändere den YOUR_DOT_REVERSED_IOS_CLIENT_ID zu dem Wert, der in Schritt 9 (dem iOS-URL-Schema) kopiert wurde

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

  13. Speichern Sie das File mit Command + S

  14. Ändern Sie den AppDelegate.swift

    1. Öffnen Sie das AppDelegate

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

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

      Originalanwendung openURL-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 Anwendung openURL-Funktion mit GoogleSignIn-Handling
    5. Speichern Sie das Datei mit Command + S

  15. Mit dem Google-Login in Ihrer App arbeiten

    Bei diesem Schritt sind Sie 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 die idToken Zielgruppe Ihren Firebase-Webclient-Id entspricht
  • Stellen Sie sicher, dass Google Sign-In in Firebase Console aktiviert ist
  • Stellen Sie sicher, dass Info.plist die korrekten URL-Schemes und GIDClientID enthält
  • Überprüfen Sie, ob iOSServerClientId Ihre Zielgruppe Ihren Webclient-Id entspricht
  • Überprüfen Sie das Beispiel-App code für Referenz

Wenn Sie Firebase Google Login auf iOS für die Planung der Authentifizierung und der Kontenflüsse verwenden Using @capgo/capacitor-social-login 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 @capgo/capacitor-native-biometrische für die Implementierungsdetails in @capgo/capacitor-native-biometrische, und Zwei-Faktor-Authentifizierung für die Implementierungsdetails in Zwei-Faktor-Authentifizierung.