Zum Inhalt springen

Firebase Google Login auf iOS

Diese Anleitung 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. Gehen Sie zu Ihrem Projektübersicht über bei console.cloud.google.com

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

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

    Firebase-App hinzufügen (iOS)
  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 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 Bundle Identifier und fügen Sie es in die Firebase-Konsole ein Firebase Hinzufügen von App iOS Bundle-ID-Feld
    2. Klicken Sie auf den Register app Button Firebase App hinzufügen iOS Registrierungs-Button
  5. Den Download config file Schritt

    Firebase App hinzufügen iOS Download-Schritt überspringen
  6. Den Add firebase SDK Schritt

    Firebase App hinzufügen iOS Firebase SDK-Schritt überspringen
  7. Den Add initialization code Schritt

    Firebase App hinzufügen iOS Initialisierungsschritt Code überspringen
  8. Klicken Sie auf den Continue to console Button

    Firebase App hinzufügen iOS Weiter zur Konsole Schaltfläche
  9. Ermitteln Sie Ihren iOS-Zugriffstoken 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 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. Suche nach credentials und klicke auf das APIs and Services das (Nummer 2 auf dem Screenshot) Google Cloud Console Credentials Search
    4. Klicke auf das iOS client for [YOUR_APP_ID] (auto created by Google Service) das. In meinem Fall ist sociallogin-tutorial-app.

      Google Cloud Console Credentials iOS Client ID
    5. Kopiere das Client ID sowie das iOS URL scheme. Dies wird jeweils Ihr iOSClientId und YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Google Cloud Console Anmeldeinformationen 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 Anmeldemethode Button
    3. Klicken Sie auf den Google Anbieter Firebase Authentication Anmeldemethode Google-Anbieter
    4. Klicken Sie auf den Web SDK configuration Button Firebase Authentication Anmeldemethode Web SDK Konfigurationsbutton
    5. Kopieren Sie Web client ID. Dies wird Ihre webClientId im initialize Methode des Plugins. Firebase Authentication Anmeldemethode 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

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

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

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

      Info.plist mit URL-Schemes code eingefügt vor Abschluss des Dictionary-Tags
      <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 eingefügt in URL-Schemes
  12. ändern Sie das YOUR_IOS_CLIENT_ID auf den iOS-Client-ID, die 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 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

      Die ursprüngliche Anwendung 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 öffnet die openURL-Funktion mit Google-Sign-In-Handling
    5. Speichern Sie das Datei mit Command + S

  15. Verwenden Sie den Google-Anmelden in Ihrer App

    Zu diesem Zeitpunkt sind Sie bereit, den Google-Anmelden 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 Ihren Firebase-Web-Client-IDs entspricht
  • 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 iOSServerClientId passt sich Ihrem Webclient-Id an
  • Überprüfen Sie das Beispiel-App __CAPGO_KEEP_0__ example app code Bleiben Sie bei Firebase Google Login auf iOS

Abschnitt mit dem Titel “Bleiben Sie bei Firebase Google Login auf iOS”

Wenn Sie Firebase Google Login auf iOS

zur Planung der Authentifizierung und Kontoflows verwenden, verbinden Sie es mit Firebase Google Login on iOS If you are using 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 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.