Erste Schritte mit App Check mit einem benutzerdefinierten Anbieter in C++

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

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-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 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.