Zacznij korzystać ze Sprawdzania aplikacji od dostawcy niestandardowego w C++

Na tej stronie dowiesz się, jak włączyć App Check w aplikacji w C++ przy użyciu własnego dostawcy App Check. Gdy włączysz App Check, masz pewność, że tylko Twoja aplikacja będzie mieć dostęp do zasobów Firebase w projekcie.

Jeśli chcesz używać App Check z domyślnymi dostawcami, przeczytaj artykuł Włączanie App Check z domyślnymi dostawcami w C++.

Zanim zaczniesz

1. Dodawanie biblioteki App Check do aplikacji

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

2. Zaimplementuj interfejsy App Check

Najpierw musisz utworzyć klasy, które implementują interfejsy AppCheckProvider i AppCheckProviderFactory.

Klasa AppCheckProvider musi mieć metodę GetToken(), która zbiera wszelkie informacje wymagane przez niestandardowego dostawcę App Check jako dowód autentyczności i wysyła je do usługi uzyskiwania tokenów w zamian za token App Check. Pakiet SDK App Check obsługuje buforowanie tokenów, więc w implementacji funkcji GetToken() zawsze pobieraj nowy token.

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 też 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. Inicjowanie App Check

Dodaj do aplikacji poniższy kod inicjalizacji, aby był on wykonywany przed użyciem innych pakietów SDK Firebase:

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

Dalsze kroki

Po zainstalowaniu biblioteki App Check w aplikacji zacznij rozpowszechniać zaktualizowaną aplikację wśród użytkowników.

Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny App Check wraz z każdym żądaniem wysyłanym do Firebase, ale usługi Firebase nie będą wymagać, aby tokeny były ważne, dopóki nie włączysz egzekwowania w sekcji App Check konsoli Firebase.

Monitorowanie danych i włączanie egzekwowania

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

Aby podjąć decyzję, możesz sprawdzić dane App Check dotyczące usług, z których korzystasz:

Włączanie egzekwowania App Check

Gdy zrozumiesz, jak App Check wpłynie na użytkowników, i będziesz gotowy(-a) do kontynuowania, możesz włączyć egzekwowanie App Check:

Używanie App Check w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji w usłudze App Check chcesz uruchomić ją w środowisku, które App Check zwykle nie klasyfikuje jako prawidłowe, np. w emulatorze podczas programowania lub w środowisku ciągłej integracji (CI), możesz utworzyć wersję debugowania aplikacji, która zamiast prawdziwego dostawcy atestów używa dostawcy debugowania App Check.

Zobacz Używanie funkcji App Check z dostawcą debugowania w C++.