Rozpocznij korzystanie z funkcji App Check z niestandardowym dostawcą w języku C++

Na tej stronie pokazano, jak włączyć Sprawdzanie aplikacji w aplikacji C++ przy użyciu niestandardowego dostawcy sprawdzania aplikacji . Włączając Sprawdzanie aplikacji, możesz mieć pewność, że tylko Twoja aplikacja będzie miała dostęp do zasobów Firebase Twojego projektu.

Jeśli chcesz używać Sprawdzania aplikacji z domyślnymi dostawcami, zobacz Włączanie sprawdzania aplikacji z domyślnymi dostawcami w języku C++ .

Zanim zaczniesz

1. Dodaj bibliotekę App Check do swojej aplikacji

Dołącz bibliotekę Sprawdzania aplikacji do zestawu zależności, postępując zgodnie z instrukcjami konfiguracji Sprawdzania aplikacji.

2. Zaimplementuj interfejsy App Check

Najpierw należy utworzyć klasy implementujące interfejsy AppCheckProvider i AppCheckProviderFactory .

Twoja klasa AppCheckProvider musi mieć metodę GetToken() , która zbiera wszelkie informacje wymagane przez niestandardowego dostawcę kontroli aplikacji jako dowód autentyczności i wysyła je do usługi pozyskiwania tokenów w zamian za token sprawdzania aplikacji. Zestaw SDK App Check obsługuje buforowanie tokenów, więc zawsze korzystaj z nowego tokenu w implementacji GetToken() .

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");
  }
};

Zaimplementuj także klasę AppCheckProviderFactory , która tworzy instancje implementacji AppCheckProvider :

class YourCustomAppCheckProviderFactory : public AppCheckProviderFactory {
  AppCheckProvider* CreateProvider(App* app) {
    // Create and return an AppCheckProvider object.
    return new YourCustomAppCheckProvider(app);
  }
}

3. Zainicjuj sprawdzanie aplikacji

Dodaj następujący kod inicjujący do swojej aplikacji, aby działała przed użyciem jakichkolwiek innych pakietów SDK Firebase:

firebase::app_check::AppCheck::SetAppCheckProviderFactory(
    YourCustomAppCheckProviderFactory::GetInstance());

Następne kroki

Po zainstalowaniu biblioteki App Check w aplikacji rozpocznij dystrybucję zaktualizowanej aplikacji wśród użytkowników.

Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny Sprawdzania aplikacji wraz z każdym żądaniem wysyłanym do Firebase, ale produkty Firebase nie będą wymagać, aby tokeny były ważne, dopóki nie włączysz wymuszania w sekcji Sprawdzanie aplikacji w konsoli Firebase.

Monitoruj metryki i włączaj egzekwowanie

Zanim jednak włączysz wymuszanie, upewnij się, że nie zakłóci to działania istniejących legalnych użytkowników. Z drugiej strony, jeśli zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz wcześniej włączyć egzekwowanie zasad.

Aby pomóc w podjęciu tej decyzji, możesz sprawdzić dane App Check dotyczące usług, z których korzystasz:

Włącz wymuszanie sprawdzania aplikacji

Kiedy już zrozumiesz, jak Kontrola aplikacji wpłynie na Twoich użytkowników i będziesz gotowy, aby kontynuować, możesz włączyć wymuszanie Sprawdzania aplikacji:

Użyj sprawdzania aplikacji w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji w Kontroli aplikacji chcesz uruchomić ją w środowisku, którego weryfikacja aplikacji normalnie nie sklasyfikowałaby jako prawidłowe, na przykład w emulatorze podczas programowania lub w środowisku ciągłej integracji (CI), możesz utwórz kompilację debugowania swojej aplikacji, która korzysta z dostawcy debugowania App Check zamiast prawdziwego dostawcy zaświadczenia.

Zobacz Używanie sprawdzania aplikacji z dostawcą debugowania w języku C++ .