__CAPGO_KEEP_0__ - Live-Updates für __CAPGO_KEEP_1__-Apps

Google Login 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.

In diesem Teil erfahren Sie, wie Sie Google-Login in iOS einrichten können.

  1. Erstellen Sie einen iOS-Kunden-ID im Google-Konsolen

    1. Klicken Sie auf die Suchleiste

      Suchleiste im Google-Konsolen
    2. Nach credentials und klicken Sie auf die APIs and Services eine (Zahl 2 auf dem Screenshot)

      Suchergebnisse mit der Option für Anmeldedaten, APIs und Dienste hervorgehoben
    3. Klicken Sie auf den create credentials

      Erstellen Sie Anmeldeinformationen-Button im Google-Konsolen
    4. Wählen Sie OAuth client ID

      OAuth-Kundenidentitäts-ID-Option in der Anmeldeinformationen-Erstellungsmenü
    5. Wählen Sie das Application type Zur Anwendungstypauswahl mit iOS-Option hervorgehoben iOS

      Finden Sie die Bundle-ID
    6. Öffnen Sie Xcode

      1. Doppelklicken Sie auf

      2. App-Ziel in Xcode-Projekt-Explorer App

        Zum Anwendungsziel
      3. Stellen Sie sicher, dass Sie sich auf Targets -> App

        Abschnitt Ziele in Xcode mit App ausgewählt
      4. Finden Sie Ihr Bundle Identifier

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

        Bundle-ID-Feld in der iOS-Kunden-Erstellungsform von Google-Konsolen
    7. Optionell können Sie Ihren App Store ID oder Team ID in die Client-ID einfügen, wenn Sie Ihre App im App Store veröffentlicht haben

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

      Erstellen-Button am unteren Ende der iOS-Kunden-Erstellungsform
    9. Klicken OK

      Bestätigungsdialog für erstellten Client-Id-Client
    10. Öffnen Sie den neu erstellten iOS-Client

      Neu erstellter iOS-Client in der Liste der Anmeldedaten
    11. Folgende Daten kopieren

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

    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 Option "Als Quelle öffnen Code"
    3. Am unteren Ende Ihrer Plist Datei sehen Sie ein </dict> Tag

      Schließende dict-Tags in der Info.plist-Datei
    4. Fügen Sie den folgenden Fragment vor dem Abschluss </dict> Schluss

      Info.plist with URL schemes code inserted before closing dict tag
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
    5. Auf die Zwischenablage kopieren YOUR_DOT_REVERSED_IOS_CLIENT_ID Ändern Sie den

      auf den Wert, der in der vorherigen Schritt kopiert wurde
    6. Speichern Sie das Datei mit Command + S

  3. Ä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 Anwendungsfunktion openURL mit GoogleSignIn-Handling
    5. Speichern Sie das Datei mit Command + S

  4. Einrichten Sie Google-Anmeldung in Ihrem JavaScript/TypeScript code

    1. Importieren SocialLogin und Capacitor

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

      Grundlegende Einrichtung (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 Einrichtung 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. Implementieren Sie die Anmeldefunktion. Erstellen Sie einen Button und führen Sie folgenden code bei einem Klick aus

      Für Online-Modus:

      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 führen Sie sie aus cap sync

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

      Demo des Google-Login-Flows auf iOS, die Anmeldeprozess und erfolgreiche Authentifizierung zeigt

Das Google-Login-Plugin ist mit dem @capacitor/privacy-screen. Wenn Sie beide Plugins gemeinsam verwenden, wird die Google-Login-Webview durch den Datenschutzschirm unterbrochen.

Arbeitsumgehung: Aufrufen await PrivacyScreen.disable(); context

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

Wenn Sie Google Login auf iOS für die Planung der Authentifizierung und der Kontoflows verwenden, verbinden Sie es mit Verwenden Sie @capgo/capacitor-social-login für die native Fähigkeit in Verwenden Sie @capgo/capacitor-social-login Verwenden Sie @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-social-login Verwenden Sie @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey Verwenden Sie @capgo/capacitor-native-biometric für die Implementierungsdetails in @capgo/capacitor-native-biometric und Zweifaktor-Authentifizierung für die Implementierungsdetails in Zweifaktor-Authentifizierung.