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

Auf dieser Seite erfahren Sie, wie Sie App Check in einer iOS-App aktivieren. Wenn Sie App Check aktivieren, tragen Sie dazu bei, dass nur Ihre App im Namen Ihres Projekts auf die OAuth 2.0-Endpunkte von Google zugreifen kann. Übersicht über diese Funktion

App Check verwendet App Attest, um zu prüfen, ob OAuth 2.0-Anfragen von Ihrer authentischen App stammen. App Check verwendet App Attest nicht, um das Betrugsrisiko zu analysieren.

Hinweis

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

  2. Integrieren Sie den Google Log-in in Ihre iOS-App. Verwenden Sie dazu die Google Log-in-Bibliothek.

1. Projekt einrichten

App Check kann in der Google API Console oder in der Firebase Console aktiviert werden. Es ist nicht erforderlich, die Funktion an beiden Stellen zu aktivieren.

Google API Console

Die folgenden Anforderungen müssen erfüllt sein, damit Sie App Check für Ihren iOS-Client aktivieren können:
  • Sie müssen eine Team-ID für Ihren iOS-Client angeben.
  • Sie dürfen keinen Platzhalter in Ihrer Paket-ID verwenden, da er zu mehr als einer App aufgelöst werden kann. Das bedeutet, dass die Paket-ID kein Sternchen (*) enthalten darf.
Wenn Sie App Check aktivieren möchten, aktivieren Sie in der Bearbeitungsansicht Ihres iOS-Clients die Ein/Aus-Schaltfläche OAuth-Client mit Firebase App Check vor Missbrauch schützen.

Nachdem Sie App Check aktiviert haben, werden in der Bearbeitungsansicht des OAuth-Clients Messwerte zu OAuth-Anfragen von Ihrem Client angezeigt. Anfragen von nicht verifizierten Quellen werden erst blockiert, wenn Sie App Check erzwingen. Anhand der Informationen auf der Seite zur Messwertüberwachung können Sie festlegen, wann die Durchsetzung beginnen soll.

Wenn Sie App Check für Ihre iOS-App aktivieren, können Fehler im Zusammenhang mit der App Check-Funktion auftreten. Versuchen Sie Folgendes, um diese Fehler zu beheben:

  • Prüfen Sie, ob die von Ihnen angegebene Paket-ID und Team-ID gültig sind.
  • Achten Sie darauf, dass Sie keinen Platzhalter für die Paket-ID verwenden.

Firebase Console

  1. Sie benötigen ein Firebase-Projekt, um App Check mit Google-Anmeldung zu verwenden.

    • Wenn Ihre App bereits Firebase verwendet, können Sie dasselbe Projekt verwenden.

    • Wenn Ihre App die Google-Anmeldung, aber nicht Firebase verwendet, haben Sie bereits ein Google Cloud-Projekt. Fügen Sie Firebase zu 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. Falls noch nicht geschehen, fügen Sie Ihre iOS-Apps über die Seite Projekteinstellungen in der Firebase Console Ihrem Firebase-Projekt hinzu.

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

  4. Achten Sie darauf, dass alle OAuth-Clients Ihres Projekts mit einer App verknüpft sind.

    Wenn Sie Clients haben, deren Verknüpfung aufgehoben wurde, sehen Sie im Bereich Google Identity for iOS auf der Seite App Check die Meldung „Es liegen n OAuth-Clients vor, deren Verknüpfung aufgehoben wurde und 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 liegen n Überschreibungen ohne entsprechenden OAuth-Client vor“ angezeigt. Sie können diese Überschreibungen gefahrlos löschen.

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

2. Google Log-in-Bibliothek zur App hinzufügen

  1. Legen Sie in Ihrem Xcode-Projekt die Google Log-in-Abhängigkeit auf Version 8.0.0 oder höher fest :

    SPM

    Legen Sie die Abhängigkeitsregel von googlesignin-ios auf Version 8.0.0 oder höher fest.

    CocoaPods

    So 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','~> 8.0'
          :git => 'https://github.com/google/GoogleSignIn-iOS.git'
      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 für Ihre Nutzer bereitstellen.

Die aktualisierte Client-App sendet App Check-Tokens zusammen mit jeder Anfrage an die Authentifizierungsendpunkte von Google. Die Endpunkte erfordern jedoch erst dann gültige Tokens, wenn Sie die Erzwingung im App Check-Bereich der Firebase-Konsole aktivieren.

Messwerte überwachen

Bevor Sie die Erzwingung aktivieren, sollten Sie jedoch sicherstellen, dass dadurch keine bestehenden legitimen Nutzer beeinträchtigt werden. Wenn Sie jedoch verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung möglicherweise früher aktivieren.

App Check-Messwerte für die Google-Anmeldung können Ihnen bei der Entscheidung helfen.

App Check-Erzwingung aktivieren

Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, und Sie bereit sind, fortzufahren, können Sie die App Check-Durchsetzung aktivieren.

App Check in Debugging-Umgebungen verwenden

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

Weitere Informationen finden Sie unter App Check mit dem Debugging-Anbieter verwenden.