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

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

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:

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:

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