Erste Schritte mit App Check für Google Log-in unter iOS

Auf dieser Seite wird beschrieben, wie Sie App Check in einer iOS-App aktivieren. Damit sorgen Sie dafür, dass nur Ihre App im Namen Ihres Projekts auf die OAuth 2.0-Endpunkte von Google zugreifen kann. Übersicht über diese Funktion

App Check nutzt App Attest, um zu prüfen, ob OAuth 2.0-Anfragen von Ihrer echten Anwendung stammen. App Check verwendet App Attest nicht, um Betrugsrisiken zu analysieren.

Hinweis

  1. Sie benötigen Xcode 12.5 oder höher.

  2. Binde Google Log-in mithilfe der Google Log-in-Bibliothek in deine iOS-App ein.

1. Projekt einrichten

  1. Sie benötigen ein Firebase-Projekt, um App Check mit Google Log-in verwenden zu können.

    • Wenn Ihre App bereits Firebase nutzt, verwenden Sie dasselbe Projekt.

    • Wenn Ihre Anwendung Google Log-in, aber nicht Firebase verwendet, haben Sie bereits ein Google Cloud-Projekt. Fügen Sie Firebase Ihrem Google Cloud-Projekt hinzu, indem Sie es beim Erstellen eines neuen Projekts in der Firebase Console auswählen.

    Siehe auch: Beziehung zwischen Firebase-Projekten und Google Cloud

  2. Fügen Sie Ihrem Firebase-Projekt über die Seite Projekteinstellungen der Firebase Console Ihre iOS-Apps hinzu, falls noch nicht geschehen.

  3. Registrieren Sie Ihre Apps im Abschnitt App Check der Firebase Console für die Verwendung von App Check beim App Attest-Anbieter.

  4. Prüfen Sie, ob alle OAuth-Clients Ihres Projekts mit einer Anwendung verknüpft sind.

    Wenn Sie die Verknüpfung von Clients aufgehoben haben, wird auf der Seite App Check im Abschnitt Google Identity for iOS die folgende Meldung angezeigt: Sie haben n die Verknüpfung der OAuth-Clients aufgehoben, für die eine zusätzliche Einrichtung erforderlich ist.

    Wenn Sie außerdem einige OAuth-Clients gelöscht haben, nachdem Sie sie in App Check eingerichtet haben, wird die Meldung Es wurden n-Überschreibungen ohne passenden OAuth-Client angezeigt. Sie können diese Überschreibungen bedenkenlos bereinigen.

    Sie können nicht verknüpfte Clients mit einer vorhandenen oder neuen Anwendung auf der Seite OAuth-Clients der Firebase Console verknüpfen.

2. Der App die Beta-Bibliothek für Google Log-in hinzufügen

  1. Legen Sie in Ihrem Xcode-Projekt die Google Log-in-Abhängigkeit auf Version 7.1.0-fac-beta-1.1.0 fest:

    SPM

    Legen Sie die Abhängigkeitsregel von googlesignin-ios auf die genaue Version fest: 7.1.0-fac-beta-1.1.0.

    CocoaPods

    Aktualisieren Sie Ihr Podfile:

    source 'https://github.com/CocoaPods/Specs.git'
    source 'https://github.com/firebase/SpecsDev.git'
    
    target 'YourAppName' do
      use_frameworks!
    
      pod 'GoogleSignIn',
          :git => 'https://github.com/google/GoogleSignIn-iOS.git',
          :tag => '7.1.0-fac-beta-1.1.0'
      pod 'GoogleSignInSwiftSupport'  # If you use SwiftUI.
    end
    

    Führen Sie dann pod install aus und öffnen Sie die erstellte Datei .xcworkspace.

  2. Fügen Sie Ihrer App in Xcode die Funktion App Attest hinzu.

  3. Legen Sie in der Datei .entitlements Ihres Projekts die App Attest-Umgebung auf production fest.

3. App Check initialisieren

Rufen Sie in der Methode didFinishLaunchingWithOptions des App-Delegaten GIDSignIn.sharedInstance.configure(completion:) auf. Sie sollten diese Methode so früh wie möglich im Lebenszyklus Ihrer App aufrufen, um die vom Nutzer wahrgenommene Latenz zu minimieren.

import SwiftUI
import GoogleSignIn

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
  ) -> Bool {
    #if targetEnvironment(simulator)
    // Configure for debugging.
    // See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
    #else
    GIDSignIn.sharedInstance.configure { error in
      if let error {
        print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
      }
    }
    #endif

    return true
  }
}

@main
struct YourAppNameApp: App {
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  // ...
}

Nächste Schritte

Sobald die App Check-Bibliothek in Ihrer App installiert ist, können Sie die aktualisierte App an Ihre Nutzer verteilen.

Die aktualisierte Client-App sendet dann zusammen mit jeder Anfrage App Check-Tokens an die Authentifizierungsendpunkte von Google. Die Endpunkte müssen jedoch erst gültig sein, wenn Sie die Erzwingung im Bereich „App Check“ der Firebase Console aktivieren.

Messwerte überwachen

Bevor Sie die Erzwingung aktivieren, sollten Sie jedoch dafür sorgen, dass Ihre bestehenden rechtmäßigen Nutzer dadurch nicht beeinträchtigt werden. Wenn Sie jedoch eine verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung früher aktivieren.

Als Entscheidungshilfe können Sie sich die App Check-Messwerte für Google Log-in ansehen.

App Check-Erzwingung aktivieren

Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, und Sie fortfahren können, können Sie die App Check-Erzwingung aktivieren.

App Check in Debug-Umgebungen verwenden

Wenn Sie Ihre Anwendung nach der Registrierung für App Check in einer Umgebung ausführen möchten, die von App Check normalerweise nicht als gültig eingestuft werden würde, z. B. in einem Simulator während der Entwicklung, oder in einer CI-Umgebung (Continuous Integration) können Sie einen Debug-Build Ihrer Anwendung erstellen, der den App Check-Fehlerbehebungsanbieter anstelle von App Attest verwendet.

Weitere Informationen finden Sie unter App Check mit dem Anbieter für die Fehlerbehebung verwenden.