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
Dodaj Firebase do swojego projektu C++, jeśli jeszcze tego nie zrobiłeś.
Zaimplementuj niestandardową logikę po stronie serwera dostawcy App Check .
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:
- Monitoruj metryki żądań aplikacji dla bazy danych czasu rzeczywistego, Cloud Firestore, przechowywania w chmurze i uwierzytelniania (beta).
- Monitoruj metryki żądań aplikacji dla Cloud Functions .
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:
- Włącz wymuszanie sprawdzania aplikacji dla bazy danych czasu rzeczywistego, Cloud Firestore, przechowywania w chmurze i uwierzytelniania (beta).
- Włącz wymuszanie sprawdzania aplikacji dla funkcji Cloud .
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++ .