Zum Inhalt springen

Google-Anmeldung auf iOS

GitHub

In dieser Anleitung lernen Sie, wie Sie Google Login mit Capgo Social Login für iOS einrichten können. Ich gehe davon aus, dass Sie bereits die Allgemeine Einrichtungsanleitung.

Google-Anmeldung auf iOS verwenden

Abschnitt: "Google-Anmeldung auf iOS verwenden"

In diesem Abschnitt lernen Sie, wie Sie die Google-Anmeldung in iOS einrichten.

  1. Erstellen Sie einen iOS-Kunden-ID in der Google-Konsole

    1. Klicken Sie auf die Suchleiste

      Suchleiste der Google-Konsole
    2. Suchen Sie nach credentials und klicken Sie auf die APIs and Services eine (Zahl 2 auf dem Screenshot)

      Suchergebnisse, die die Option zur Anmeldung mit APIs und Services hervorheben
    3. Klicken Sie auf die create credentials

      Zugriffsdaten erstellen
    4. Auswählen OAuth client ID

      OAuth-Kundenidentifizierungsnummer wählen
    5. Wählen Sie die Application type für iOS

      Anwendungstypauswahl mit iOS-Option hervorgehoben
    6. Finden Sie die Bundle-ID

      1. Xcode öffnen

      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. Entdecken Sie Ihren Bundle Identifier

        Bundle-Identifier-Feld in den Xcode-Projekt-Einstellungen
      5. Gehen Sie zurück zur Google-Konsole und fügen Sie Ihren Bundle Identifier in das Bundle ID

        Bundle-ID-Feld in der Google-Konsole iOS-Kundenanlage-Erstellungsformular
    7. Optional können Sie Ihren App Store ID oder Team ID in die Client-ID einfügen, wenn Sie Ihre App bereits im App Store veröffentlicht haben

    8. Nachdem Sie alle Details ausgefüllt haben, klicken Sie auf create

      Schaltfläche 'Erstellen' am unteren Ende der iOS-Kundenanlage-Erstellungsformular
    9. Klicken Sie auf OK

      OK-Button in der Bestätigungsanzeige für die erstellte Client-ID
    10. Öffnen Sie den neu erstellten iOS-Kunden

      Neu erstellter iOS-Kunden in der Liste der Anmeldedaten
    11. Kopieren Sie die folgenden Daten

      Anzeige der Client-ID-Daten mit Client-ID und umgekehrter Client-ID zum Kopieren
  2. Ändern Sie die Einstellungen Ihres Apps Info.plist

    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

      Recht-klick-Menü mit der Option "Als Quellcode öffnen" Code
    3. Am unteren 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 der Schlüsselwortliste
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
    5. Ändern Sie den YOUR_DOT_REVERSED_IOS_CLIENT_ID auf den Wert, der im vorherigen Schritt kopiert wurde

      Info.plist mit dem tatsächlichen rückgekehrten Client-ID eingefügt in URL-Schemes
    6. Speichern Sie das Datei mit Command + S

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

      Die ursprüngliche AnwendungsopenURL-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 AnwendungsopenURL-Funktion mit GoogleSignIn-Handling
    5. Speichern Sie die Datei mit Command + S

  4. Setup Google login in your JavaScript/TypeScript code

    1. Importieren SocialLogin und Capacitor

      import { SocialLogin } from '@capgo/capacitor-social-login';
      import { Capacitor } from '@capacitor/core';
    2. Rufen Sie die Methode initialize auf (dies sollte nur einmal aufgerufen werden)

      Grundlegende Konfiguration (Online-Modus - empfohlen für die meisten Apps):

      // onMounted is Vue specific
      onMounted(() => {
      SocialLogin.initialize({
      google: {
      iOSClientId: '673324426943-redacted.apps.googleusercontent.com',
      mode: 'online' // Default mode
      }
      })
      })

      Erweiterte Konfiguration mit zusätzlichen Client-IDs:

      onMounted(() => {
      SocialLogin.initialize({
      google: {
      webClientId: 'YOUR_WEB_CLIENT_ID', // Optional: for web platform support
      iOSClientId: 'YOUR_IOS_CLIENT_ID', // Required: from step 1
      iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Optional: same as webClientId, needed for some advanced features
      mode: 'online' // 'online' or 'offline'
      }
      })
      })
    3. Implement the login function. Create a button and run the following code on click

      For online mode: ist nicht übersetzt, da es in der Liste der protectedTokens enthalten ist.

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response - contains user data
      console.log(JSON.stringify(res))

      Für Offline-Modus:

      const res = await SocialLogin.login({
      provider: 'google',
      options: {
      forceRefreshToken: true // Recommended for offline mode
      }
      })
      // res contains serverAuthCode, not user data
      // Send serverAuthCode to your backend to get user information
      // Do not call SocialLogin.refresh() in offline mode
      console.log('Server auth code:', res.result.serverAuthCode)
  5. Testen Sie Ihre Anwendung

    1. Bauen Sie Ihre App und starten Sie sie cap sync

    2. Wenn Sie alles richtig gemacht haben, sollten Sie das Google-Login-Flow korrekt funktionieren sehen

      Demo des Google-Login-Flows auf iOS, die sich beim Anmeldevorgang und der erfolgreichen Authentifizierung befindet

Inkompatibilität des Privacy-Screen-Plugins

Abschnitt: Inkompatibilität des Privacy-Screen-Plugins

Das Google-Login-Plugin ist mit dem @capacitor/privacy-screenWenn Sie beide Plugins gemeinsam verwenden, wird das Google-Login-WebView durch den Privacy-Screen unterbrochen.

Workaround: Aufrufen Sie await PrivacyScreen.disable(); vor dem Aufrufen der Login-Funktion:

import { PrivacyScreen } from '@capacitor/privacy-screen';
import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();
await SocialLogin.login({
provider: 'google',
options: {}
});

Fortsetzen von Google Login auf iOS

Abschnitt: Fortsetzen von Google Login auf iOS

Wenn Sie Google-Anmeldung auf iOS um die Authentifizierung und die Kontoflussplanung zu planen, verbinden Sie es mit 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.