Auf dieser Seite wird beschrieben, wie Sie App Check in einer C++-App mit Ihrem benutzerdefinierten App Check-Anbieter aktivieren. Wenn Sie App Check aktivieren, können Sie dazu beitragen, dass nur Ihre App auf die Firebase-Ressourcen Ihres Projekts zugreifen kann.
Wenn Sie App Check mit den Standardanbietern verwenden möchten, lesen Sie den Hilfeartikel App Check mit Standardanbietern mit C++ aktivieren.
Hinweis
Fügen Sie Ihrem C++-Projekt Firebase hinzu, falls noch nicht geschehen.
Implementieren Sie die serverseitige Logik Ihres benutzerdefinierten App Check Anbieters.
1. App Check-Bibliothek zu Ihrer App hinzufügen
Fügen Sie die App Check-Bibliothek Ihren Abhängigkeiten hinzu. Folgen Sie dazu der Einrichtungsanleitung für App Check.
2. Die App Check Schnittstellen implementieren
Zuerst müssen Sie Klassen erstellen, die die AppCheckProvider und
AppCheckProviderFactory Schnittstellen implementieren.
Ihre AppCheckProvider-Klasse muss eine GetToken()-Methode haben, die alle Informationen erfasst, die Ihr benutzerdefinierter App Check-Anbieter als Authentizitätsnachweis benötigt, und sie an Ihren Token-Abrufdienst sendet, um ein App Check-Token zu erhalten. Das App Check SDK verarbeitet das Token-Caching. Rufen Sie daher immer
ein neues Token in Ihrer Implementierung von GetToken() ab.
class YourCustomAppCheckProvider : public AppCheckProvider {
void GetToken(std::function<void(AppCheckToken, int, const std::string&)>
completion_callback) {
// Logic to exchange proof of authenticity for an App Check token and
// expiration time.
// ...
// Create AppCheckToken object.
AppCheckToken appCheckToken;
appCheckToken.token = token;
appCheckToken.expire_time_millis = expireTime;
completion_callback(appCheckToken, 0, "");
// Or, if needing to return an error
//completion_callback({}, error_code, "Error description");
}
};
Implementieren Sie außerdem eine AppCheckProviderFactory-Klasse, die Instanzen Ihrer
AppCheckProvider-Implementierung erstellt:
class YourCustomAppCheckProviderFactory : public AppCheckProviderFactory {
AppCheckProvider* CreateProvider(App* app) {
// Create and return an AppCheckProvider object.
return new YourCustomAppCheckProvider(app);
}
}
3. App Check initialisieren
Fügen Sie Ihrer App den folgenden Initialisierungscode hinzu, damit er ausgeführt wird, bevor Sie andere Firebase SDKs verwenden:
firebase::app_check::AppCheck::SetAppCheckProviderFactory(
YourCustomAppCheckProviderFactory::GetInstance());
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 mit jeder Anfrage an Firebase App Check Tokens. Bei Firebase-Produkten müssen die Tokens jedoch erst gültig sein, wenn Sie die Erzwingung im App Check Bereich der Firebase-Konsole aktivieren.
Messwerte beobachten und Erzwingung aktivieren
Bevor Sie die Erzwingung aktivieren, sollten Sie prüfen, ob dies Ihre bestehenden legitimen Nutzer beeinträchtigt. Wenn Sie andererseits eine verdächtige Nutzung Ihrer App-Ressourcen feststellen, sollten Sie die Erzwingung möglicherweise früher aktivieren.
Um diese Entscheidung zu treffen, können Sie sich die App Check Messwerte für die Dienste ansehen, die Sie verwenden:
- Beobachten Sie die Messwerte für App CheckAnfragen für Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API und Places API (neu).
- Beobachten Sie die Messwerte für App Check Anfragen für Cloud Functions.
Erzwingung aktivierenApp Check
Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, und bereit sind, fortzufahren, können Sie die App Check Erzwingung aktivieren:
- Aktivieren Sie die App Check Erzwingung für Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API und Places API (neu).
- Aktivieren Sie die App Check Erzwingung für Cloud Functions.
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 Emulator während der Entwicklung oder in einer CI-Umgebung (Continuous Integration), können Sie einen Debug-Build Ihrer App erstellen, der den App Check Debug-Anbieter anstelle eines echten Attestierungsanbieters verwendet.
Weitere Informationen finden Sie unter Verwenden Sie App Check mit dem Debug-Anbieter mit C++.