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.

  1. Gehe zu Ihrem Projektübersicht über bei console.cloud.google.com

    Firebase-Projektübersicht
  2. Klicken Sie auf den Add app Schaltfläche

    Firebase-App-Hinzufügen-Schaltfläche Firebase-App-Hinzufügen-Button
  3. Wählen Sie iOS

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

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

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

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

    Firebase App hinzufügen iOS Skip-Add-Initialisierung Code-Button
  8. Klicken Sie auf den Continue to console Button

    Firebase App hinzufügen iOS Weiter zur Konsole Schaltfläche
  9. Erhalten Sie Ihren iOS-Kundenidentifikator und Ihren YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Gehe zu Google Cloud Console bei 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 an 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 die APIs and Services eine (Zahl 2 auf dem Screenshot) Google Cloud Console-Zugriffsdatenbank-Suche
    4. Klicken Sie auf die iOS client for [YOUR_APP_ID] (auto created by Google Service) eine. In meinem Fall ist es sociallogin-tutorial-app.

      Google Cloud Console-Zugriffsdatenbank iOS-Kunden-ID
    5. Kopieren Sie die 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. Erhalten Sie Ihren Webclient ID

    1. Zurück zur Firebase-Konsole und gehen Sie zu Build -> Authentication Firebase-Authentifizierungs-Menü
    2. Klicken Sie auf den Sign-in method Schaltfläche Firebase-Authentifizierung-Anmeldemethode-Button
    3. Klicken Sie auf den Google Anbieter Firebase-Authentifizierung-Anmeldemethode Google-Anbieter
    4. Klicken Sie auf den Web SDK configuration Button Firebase-Authentifizierung-Anmeldemethode Web SDK Konfiguration-Button
    5. Kopieren Sie Web client IDDies wird Ihr webClientId in der initialize Methode der Erweiterung. Firebase-Authentifizierung-Anmeldemethode Web SDK Konfiguration Web Client-ID
  11. Ihre App’s Info.plist bearbeiten

    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 Quelltext code

      Rechtsklick-Menü mit der Option "Als Quelltext öffnen" Code
    3. Am unteren Ende Ihrer Plist Datei sehen Sie ein </dict> Zeichen

      Schließende Schlüssel-Wert-Gruppe in der Info.plist-Datei
    4. Einfügen Sie den folgenden Abschnitt direkt vor der schließenden </dict> Schlüssel-Wert-Gruppe

      Info.plist mit URL-Schemes code eingefügt, bevor Abschlussschleife
      <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 die YOUR_DOT_REVERSED_IOS_CLIENT_ID auf den in Schritt 9 kopierten iOS-URL-Schema-Wert

      Info.plist mit dem tatsächlichen rückgekehrten Client-ID-Wert in den URL-Schemes
  12. Ändern Sie die YOUR_IOS_CLIENT_ID auf den iOS-Client-ID-Wert, den 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-Projekt-Navigator
    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 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. Verwenden Sie den Google-Login in Ihrer App

    Bei diesem Schritt sind Sie bereit, den Google-Login in Ihrer App zu verwenden. Bitte verwenden Sie die authUtils.ts Datei der Beispiel-App, um mit Google zu authentifizieren.

Der Benutzer wird automatisch in Firebase Auth erstellt, wenn er sich das erste Mal anmeldet

Schwierigkeiten beim Einloggen

Schwierigkeiten beim Einloggen

Wenn die Authentifizierung hängt oder fehlschlägt:

  • Überprüfen Sie, ob die idToken Zielgruppe Ihren Firebase-Web-Client-IDs entspricht
  • Überprüfen Sie, ob Google Sign-In in Firebase Console aktiviert ist
  • Stellen Sie sicher, dass Info.plist die richtigen URL-Schemas und GIDClientID enthält
  • Überprüfen iOSServerClientId passt sich Ihrem Webclient-Id an
  • Überprüfen Sie das Beispiel-App code zur Referenz

Wenn Sie Firebase Google Login auf iOS verwenden um die Authentifizierung und die Kontenflüsse zu planen, verbinden Sie es mit Firebase Google Login auf iOS Mit @capgo/capacitor-social-login zur nativen Fähigkeit in Mit @capgo/capacitor-social-login, @capgo/capacitor-social-login zur Implementierungsdetails in @capgo/capacitor-social-login, @capgo/capacitor-passkey zur Implementierungsdetails in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric zur Implementierungsdetails in @capgo/capacitor-native-biometric, und Zwei-Faktor-Authentifizierung zur Implementierungsdetails in Zwei-Faktor-Authentifizierung.