Zum Inhalt springen

Firebase Google Login auf iOS

GitHub

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

  1. Gehe zu deinem Projektüberblick auf Firebase-Projektübersicht

    Firebase-Projektübersicht
  2. Firebase-App-Hinzufügen-Button Add app button

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

    Firebase-App-Hinzufügen-Button für iOS
  4. Erstellen Sie die erste Teil des Formulars

    1. Erfüllen Sie Apple bundle ID
      1. Öffnen Sie Xcode in Ihrem App-Projekt npx cap open ios
      2. Klicken Sie zweimal auf App Ziel-App im Xcode-Projekt-Explorer
      3. Stellen Sie sicher, dass Sie sich im Targets -> App Zieleintrag im Xcode mit der App ausgewählt haben
      4. Finden Sie Ihren Bundle Identifier Bündel-Bezeichner-Feld in den Xcode-Projekt-Einstellungen
      5. Kopieren Sie das Bundle Identifier und fügen Sie es in die Firebase-Konsole ein Firebase Hinzufügen von App iOS-Bündel-Bezeichner-Feld
    2. Klicken Sie auf den Register app Button Firebase Hinzufügen von App iOS-Registrierungsbutton
  5. Überspringen Sie Download config file Schritt

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

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

    Firebase Add App iOS Überspringen Sie die Initialisierung Code-Button
  8. Klicken Sie auf den Continue to console Button

    Firebase Add App iOS Fortfahren zum Konsole-Button
  9. Erhalten Sie Ihre iOS-Kunden-ID und Ihre YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Gehen Sie zum 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 nach Ihrem Projekt durch den 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 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) Nummer 1. In meinem Fall ist es sociallogin-tutorial-app.

      Google Cloud Console-Credentials iOS Client ID
    5. Kopieren Sie Client ID ebenso die iOS URL scheme. This will be respectively your iOSClientId und YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Google Cloud Console Credentials iOS Client ID Kopieren
  10. Erhalten Sie Ihren Web Client ID

    1. Zurück zur Firebase-Konsole und gehen Sie zu Build -> Authentication Firebase-Authentifizierung-Menü
    2. Klicken Sie auf den Sign-in method Schaltfläche Firebase Authentication Anmelden-Button
    3. Klicken Sie auf den Google Anbieter Firebase-Authentifizierungs-Anmelde Methode Google-Anbieter
    4. Klicken Sie auf den Web SDK configuration Schaltfläche Firebase-Authentifizierungs-Anmelde Methode Web SDK Konfigurations-Schaltfläche
    5. Kopieren Sie den Web client ID. This will be your webClientId in der initialize Methode der Plugin Firebase-Authentifizierungs-Anmelde 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

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

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

      Closing dict tag in Info.plist file
    4. Einfügen Sie den folgenden Fragment vor der schließenden </dict> tag

      Info.plist mit URL-Schemata code eingeschlossen vor der schließenden Schlüsselwort-Schachtel
      <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 Wert, den Sie in Schritt 9 (dem iOS-URL-Schema) kopiert haben

      Info.plist mit dem tatsächlichen rückgekehrten Client-ID-Eintrag in den URL-Schemas
  12. Ändern Sie den YOUR_IOS_CLIENT_ID zum iOS-Client-ID, die Sie in Schritt 9 kopiert haben

  13. Speichern Sie das Datei mit Command + S

  14. Den Modifizieren AppDelegate.swift

    1. Öffnen Sie das AppDelegate

      Das AppDelegate.swift-File im Xcode-Projekt-Explorer
    2. Einfügen import GoogleSignIn Am Anfang des 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 so, dass 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)
      }
      Die 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

    Sie sind jetzt 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 das erste Mal anmeldet

If authentication hangs or fails:

  • Überprüfen Sie, ob idToken die 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 Social Login verwenden Firebase Google Login auf iOS um Authentifizierungs- und Account-Flüsse zu planen, verbinden Sie es mit Mit @capgo/capacitor-social-login für die native Fähigkeit in Verwendung von @capgo/capacitor-social-login, @capgo/capacitor-Social-Login für die Implementierungsdetail in @capgo/capacitor-social-login, @capgo/capacitor-Passkey für die Implementierungsdetail in @capgo/capacitor-passkey, @capgo/capacitor-native-biometrisch für die Implementierungsdetail in @capgo/capacitor-native-biometric, und Zwei-Faktor-Authentifizierung für die Implementierungsdetail in Zwei-Faktor-Authentifizierung.