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-Button für iOS
  4. Füllen Sie die erste Teil des Formulars

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

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

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

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

    Firebase App hinzufügen iOS Fortfahren zur Konsole Schaltfläche
  9. Ermitteln Sie Ihren iOS-Kunden-ID und Ihren 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 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 das APIs and Services das (Zahl 2 auf dem Screenshot) Google Cloud Console-Zugriffsdaten-Suche
    4. Klicken Sie auf das iOS client for [YOUR_APP_ID] (auto created by Google Service) das. In meinem Fall ist es sociallogin-tutorial-app.

      Google Cloud Console-Zugriffsdaten iOS-Kunden-ID
    5. Kopieren Sie Client ID ebenso wie die iOS URL scheme. Dies 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. 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 Konfigurations-Button
    5. Kopieren Sie Web client ID. Dies wird Ihr webClientId in der initialize Art der Plugin-Methode sein. Firebase-Authentifizierung-Anmeldemethode Web SDK Konfiguration Web-Client-ID
  11. Ihre App’s Info.plist anpassen

    1. Öffnen Sie 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 Quelle code

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

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

      Info.plist mit URL-Schemata code eingefügt, bevor der Schlüsselwortblock geschlossen wird
      <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 das YOUR_DOT_REVERSED_IOS_CLIENT_ID auf den Wert, der in Schritt 9 (dem iOS-URL-Schema) kopiert wurde

      Info.plist mit dem tatsächlichen rückgekehrten Client-ID-Wert in den URL-Schemata eingefügt
  12. Ändern Sie das 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-Explorer
    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 Anwendungsoffene URL-Funktion mit GoogleSignIn-Verwaltung
    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 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 die idToken Zielgruppe Ihren Firebase-Web-Client-IDs entspricht
  • Überprüfen Sie, ob Google Sign-In in der Firebase-Konsole aktiviert ist
  • Stellen Sie sicher, dass Info.plist die richtigen URL-Schemas und GIDClientID enthält
  • Überprüfen iOSServerClientId stimmt mit Ihrem Webclient-Id überein
  • Ü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 Implementierungsdetail in @capgo/capacitor-social-login, @capgo/capacitor-passkey zur Implementierungsdetail in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric zur Implementierungsdetail in @capgo/capacitor-native-biometric, und Zwei-Faktor-Authentifizierung zur Implementierungsdetail in Zwei-Faktor-Authentifizierung.