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. Ich gehe davon aus, dass Sie bereits die allgemeine Firebase Google-Einrichtung abgeschlossen haben..

  1. Gehen Sie zu Ihrem Projektüberblick über bei console.cloud.google.com

    Firebase-Projektübersicht
  2. Klicken Sie auf den Add app Button

    Hinweis Firebase-Hinzufügen-App-Button
  3. Auswählen iOS

    Firebase-Hinzufügen-App-iOS-Button
  4. Füllen Sie die erste Teil des Formulars

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

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

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

    Firebase Add App iOS Skip Add Initialization Code Button
  8. Klicken Sie auf den Continue to console Button

    Firebase Add App iOS Continue to Console Button
  9. Erhalten Sie Ihren iOS-Kundenidentifikator und Ihren YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Zum Google Cloud Console wechseln unter console.cloud.google.com

    2. Finden Sie Ihr Projekt

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

      1. Öffnen Sie die Suchleiste Google Cloud Console Suchleiste
      2. Suchen Sie nach credentials und klicken Sie auf den APIs and Services eine (Nummer 2 auf dem Screenshot) Google Cloud Console-Credentials-Suche
    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-Credentials iOS Client ID
    5. Die Client ID ebenso wie die iOS URL scheme. Dies wird jeweils Ihr iOSClientId und YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Google Cloud Console Credentials iOS Client ID Copy
  10. Ihre Webclient-ID erhalten

    1. Zurück zur Firebase-Konsole und gehen Sie zu Build -> Authentication Firebase-Authentifizierung-Menü
    2. Klicken Sie auf den Sign-in method Button Firebase-Authentifizierung-Anmeldemethode-Button
    3. Klicken Sie auf den Google Anbieter Firebase Authentication Sign-in Methode Google-Anbieter
    4. Klicken Sie auf den Web SDK configuration Schaltfläche Firebase Authentication Sign-in Methode Web SDK Konfigurations-Schaltfläche
    5. Kopieren Sie den Web client ID. Dies wird Ihr webClientId in der initialize Methode des Plugins. Firebase Authentication Sign-in Methode Web SDK Konfiguration Web Client ID
  11. Ändern Sie die Info.plist Ihrer App

    1. Open Xcode und finden Sie das Info.plist datei

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

      Recht-klick-Menü mit Option "Open As Source Code"
    3. Am Ende Ihrer Plist datei, sehen Sie eine </dict> Schlagwort

      Schließende Schlüssel-Wert-Schlagwort in Info.plist-Datei
    4. Einsetzen Sie den folgenden Fragment vor der schließenden </dict> Schlagwort

      Info.plist mit URL-Schemata code eingesetzt vor schließender Schlüssel-Wert-Schlagwort
      <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 umgekehrten Client-ID eingefügten in 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 Datei mit Command + S

  14. Ändern Sie das 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 das func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) Funktion

      Die ursprüngliche Anwendung öffnet die URL-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 öffnet die URL-Funktion mit GoogleSignIn-Handling
    5. Speichern Sie das 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 automatisch in Firebase Auth erstellt, wenn er sich zum ersten Mal anmeldet

Wenn die Authentifizierung hängt oder fehlschlägt:

  • Überprüfen Sie, ob idToken die Zielgruppe mit Ihrer Firebase-Web-Client-ID übereinstimmt
  • Stellen Sie sicher, dass Google Sign-In in Firebase Console aktiviert ist
  • Stellen Sie sicher, dass Info.plist die richtigen URL-Schemas und GIDClientID enthält
  • Überprüfen Sie iOSServerClientId entspricht 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 Kontoflows verwenden, verbinden Sie es mit Mit @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login Using @capgo/capacitor-social-login für die native Fähigkeit in @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.