Auf dieser Seite erfahren Sie, wie Sie App Check in einer C++-Anwendung mit Ihrem benutzerdefinierten App Check-Anbieter aktivieren. Wenn Sie App Check aktivieren, kann nur Ihre Anwendung auf die Firebase-Ressourcen Ihres Projekts zugreifen.
Wenn Sie App Check mit den Standardanbietern verwenden möchten, lesen Sie den Hilfeartikel App Check mit Standardanbietern in C++ aktivieren.
Hinweis
Fügen Sie Ihrem C++-Projekt Firebase hinzu, falls Sie das noch nicht getan haben.
Implementiere die serverseitige Logik deines benutzerdefinierten App Check-Anbieters.
1. App Check-Bibliothek zur App hinzufügen
Fügen Sie die App Check-Bibliothek zu Ihren Abhängigkeiten hinzu und folgen Sie der Anleitung zur Einrichtung für App Check.
2. App Check-Schnittstellen implementieren
Zuerst müssen Sie Klassen erstellen, die die Schnittstellen AppCheckProvider
und AppCheckProviderFactory
implementieren.
Deine AppCheckProvider
-Klasse muss eine GetToken()
-Methode haben, die alle Informationen sammelt, die dein benutzerdefinierter App Check-Anbieter als Authentifizierungsnachweis benötigt, und sie im Austausch gegen ein App Check-Token an deinen Token-Akquisitionsdienst sendet. Das App Check SDK kümmert sich um das Token-Caching. Daher solltest du in deiner Implementierung von GetToken()
immer ein neues Token abrufen.
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 sie 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 beginnt damit, App Check-Tokens zusammen mit jeder Anfrage an Firebase zu senden. Die Tokens für Firebase-Produkte müssen jedoch erst gültig sein, wenn Sie die Erzwingung im Abschnitt App Check der Firebase Console aktivieren.
Messwerte beobachten und Erzwingung aktivieren
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 dir App Check Messwerte für die von dir verwendeten Dienste helfen:
- App Check-Anfragemesswerte für Realtime Database, Cloud Firestore, Cloud Storage, Authentication (Beta) und Vertex AI in Firebase überwachen
- App Check-Anfragemesswerte für Cloud Functions überwachen
App Check-Erzwingung aktivieren
Wenn Sie wissen, wie sich App Check auf Ihre Nutzer auswirkt, und bereit sind, fortzufahren, können Sie die Durchsetzung von App Check aktivieren:
- App Check-Erzwungenheit aktivieren für Realtime Database, Cloud Firestore, Cloud Storage, Authentication (Beta) und Vertex AI in Firebase.
- Aktivieren Sie die App Check-Erzwingung für Cloud Functions.
App Check in Debug-Umgebungen verwenden
Wenn Sie Ihre App für App Check registriert haben und sie 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-Debuganbieter anstelle eines echten Attestierungsanbieters verwendet.
Weitere Informationen finden Sie unter App Check mit dem Debug-Anbieter mit C++ verwenden.