Na tej stronie znajdziesz instrukcje włączania funkcji App Check w aplikacji w C++, korzystając z własnego dostawcy App Check. Gdy włączysz opcję App Check, zapewnisz, że tylko Twoja aplikacja będzie mieć dostęp do zasobów Firebase w Twoim projekcie.
Jeśli chcesz używać funkcji App Check z domyślnymi dostawcami, zapoznaj się z artykułem Włączanie funkcji App Check z domyślnymi dostawcami w C++.
Zanim zaczniesz
Dodaj Firebase do projektu C++, jeśli nie zostało to jeszcze zrobione.
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 Sprawdzania aplikacji.
2. Zaimplementuj interfejsy App Check
Najpierw musisz utworzyć klasy, które implementują interfejsy AppCheckProvider
i AppCheckProviderFactory
.
Klasa AppCheckProvider
musi zawierać 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 pozyskiwania tokenów w zamian za token App Check. Pakiet SDK App Check obsługuje buforowanie tokenów, więc w implementacji GetToken()
zawsze otrzymujesz 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 ten kod inicjalizacji, aby był 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 rozpocznij dystrybucję zaktualizowanej aplikacji do użytkowników.
Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny App Check wraz z każdą prośbą wysyłaną do Firebase, ale usługi Firebase nie będą wymagać, aby tokeny były prawidłowe, dopóki nie włączysz wymuszania w sekcji App Check w konsoli Firebase.
Monitorowanie danych i włączanie egzekwowania
Zanim jednak włączysz egzekwowanie zasad, upewnij się, że nie zakłóci to działania dotychczasowych legalnych użytkowników. Jeśli jednak zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz wcześniej włączyć egzekwowanie.
Aby ułatwić sobie podjęcie decyzji, możesz sprawdzić dane App Check dotyczące usług, których używasz:
- Monitorowanie danych o żądaniach App Check w przypadku interfejsów Data Connect, Vertex AI in Firebase, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API i Places API (nowy).
- Monitoruj dane App Check dotyczące żądań w przypadku Cloud Functions.
Włączanie wymuszania zasad App Check
Gdy zrozumiesz, jak App Check wpłynie na Twoich użytkowników, i będziesz gotowy do dalszych działań, możesz włączyć egzekwowanie App Check:
- Włącz wymuszanie App Check w przypadku Data Connect, Vertex AI in Firebase, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Map JavaScript API i interfejsu Places API (nowy).
- Włącz wymuszanie App Check w 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 normalnie nie kwalifikuje jako prawidłowe, np. w emulatorze podczas tworzenia lub w środowisku ciągłej integracji (CI), możesz utworzyć wersję debugową aplikacji, która używa dostawcy debugowania App Check zamiast prawdziwego dostawcy uwierzytelniania.
Zobacz Korzystanie z App Check z dostawcą debugowania w C++.