Auf dieser Seite erfahren Sie, wie Sie App Check in einer iOS-App aktivieren. Wenn Sie App Check aktivieren, können nur Ihre Apps im Namen Ihres Projekts auf die OAuth 2.0-Endpunkte von Google zugreifen. Hier finden Sie eine Ü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 Google Log-in mithilfe der Google Log-in-Bibliothek in Ihre iOS-App.
1. Projekt einrichten
App-Überprüfung kann in oder in der Firebase Console aktiviert werden. Es ist nicht erforderlich, die Funktion an beiden Stellen zu aktivieren. Eine reicht aus.
Damit App Check für Ihren iOS-Client aktiviert werden kann, müssen die folgenden Anforderungen erfüllt sein:- Sie müssen eine Team-ID für Ihren iOS-Client angeben.
- Sie dürfen in Ihrer Paket-ID keinen Platzhalter verwenden, da er auf mehrere Apps verweisen kann. Das bedeutet, dass die Paket-ID das Sternchensymbol (*) nicht enthalten darf.
Nachdem Sie App Check aktiviert haben, sehen Sie in der Bearbeitungsansicht des OAuth-Clients Messwerte zu OAuth-Anfragen von Ihrem Client. Anfragen von nicht bestätigten Quellen werden erst blockiert, wenn Sie App-Überprüfung erzwingen. Anhand der Informationen auf der Seite „Messwertüberwachung“ können Sie entscheiden, wann Sie mit der Durchsetzung beginnen möchten.
Wenn Sie App-Überprüfung für Ihre iOS-App aktivieren, werden möglicherweise Fehler im Zusammenhang mit der App-Überprüfung angezeigt. Gehen Sie so vor, um diese Fehler zu beheben:
- Prüfen Sie, ob die angegebene Paket-ID und Team-ID gültig sind.
- Achten Sie darauf, dass Sie für die Paket-ID keinen Platzhalter verwenden.
Firebase Console
Sie benötigen ein Firebase-Projekt, um App Check mit der Google-Anmeldung zu verwenden.
Wenn Ihre App bereits Firebase verwendet, verwenden Sie dasselbe Projekt.
Wenn Sie in Ihrer App die Google-Anmeldung, aber nicht Firebase verwenden, 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.
Weitere Informationen finden Sie unter Beziehung zwischen Firebase-Projekten und Google Cloud.
Falls noch nicht geschehen, fügen Sie Ihre iOS-Apps Ihrem Firebase-Projekt auf der Seite Projekteinstellungen in der Firebase Console hinzu.
Registrieren Sie Ihre Apps für die Verwendung von App Check beim 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 nicht verknüpfte Clients haben, wird auf der Seite App-Überprüfung im Abschnitt Google Identity für iOS die Meldung „Es liegen n OAuth-Clients vor, deren Verknüpfung aufgehoben wurde und für die eine zusätzliche Einrichtung erforderlich ist“ angezeigt.
Wenn Sie einige OAuth-Clients nach der Einrichtung in App Check gelöscht haben, wird außerdem die Meldung „Es liegen n Überschreibungen ohne entsprechenden OAuth-Client vor“ angezeigt. Sie können diese Überschreibungen löschen, um die Bereinigung durchzuführen.
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. Ihrer App die Google Sign-in-Bibliothek hinzufügen
Legen Sie in Ihrem Xcode-Projekt die Abhängigkeit von Google Sign-in auf Version
8.0.0
oder höher fest :SPM
Legen Sie die Abhängigkeitsregel für
googlesignin-ios
auf Version8.0.0
oder höher fest.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','~> 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.xcworkspace
-Datei.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
Ihres App-Delegierten GIDSignIn.sharedInstance.configure(completion:)
auf. Sie sollten diese Methode so früh wie möglich im Lebenszyklus Ihrer App aufrufen, um die für den Nutzer sichtbare 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 Clientanwendung 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 Bereich „App Check“ der Firebase Console aktivieren.
Messwerte überwachen
Bevor Sie die Erzwingung aktivieren, sollten Sie jedoch prüfen, ob dies die Nutzung für Ihre bestehenden rechtmäßigen Nutzer nicht beeinträchtigt. Wenn Sie jedoch eine verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung früher aktivieren.
Bei der Entscheidung können Ihnen die App-Check-Messwerte für die Anmeldung über Google helfen.
App Check-Erzwigung aktivieren
Wenn Sie wissen, wie sich App-Überprüfung auf Ihre Nutzer auswirkt, und bereit sind, fortzufahren, können Sie die App-Überprüfung erzwingen.
App Check in Debug-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, bei dem der App Check-Debuganbieter anstelle von App Attest verwendet wird.
Weitere Informationen finden Sie unter App Check mit dem Debug-Anbieter verwenden.