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
Dodaj Firebase do projektu C++, jeśli jeszcze tego nie zrobiono.
Wdróż logikę po stronie serwera niestandardowego dostawcy App Check.
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:
- Monitoruj App Check dane o żądaniach w przypadkuFirebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity na iOS, interfejsu Maps JavaScript API i interfejsu Places API (nowego).
- Monitoruj dane żądań App Check dotyczące Cloud Functions.
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:
- Włącz App Check egzekwowanie w przypadku Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, interfejsu Maps JavaScript API i interfejsu Places API (nowy).
- Włącz wymuszanie App Check w przypadku Cloud Functions.
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++.