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
Sie benötigen Xcode 12.5 oder höher.
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.
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
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
Falls noch nicht geschehen, fügen Sie Ihre iOS-Apps über die Seite Projekteinstellungen in der Firebase Console Ihrem Firebase-Projekt hinzu.
Registrieren Sie Ihre Apps für die Verwendung von App Check mit dem App Attest-Anbieter im Bereich App Check der Firebase Console.
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
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 Version8.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
.Fügen Sie Ihrer App in Xcode die Funktion App Attest hinzu.
Legen Sie in der Datei
.entitlements
Ihres Projekts die App Attest-Umgebung aufproduction
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.