Na tej stronie dowiesz się, jak włączyć App Check w aplikacji na Androida, korzystając z wbudowanego dostawcy SafetyNet. Gdy włączysz usługę App Check, będziesz mieć pewność, że tylko Twoja aplikacja będzie miała dostęp do zasobów Firebase projektu. Zapoznaj się z omówieniem tej funkcji.
Jeśli chcesz używać usługi App Check z własnym niestandardowym dostawcą, zapoznaj się z artykułem Wdrażanie niestandardowego dostawcy usługi App Check.
1. Konfigurowanie projektu Firebase
Dodaj Firebase do projektu na Androida, jeśli nie zostało to jeszcze zrobione.
Zarejestruj aplikacje, aby używać App Check u dostawcy SafetyNet w sekcji App Check w konsoli Firebase. Musisz dostarczyć odcisk cyfrowy SHA-256 certyfikatu podpisywania aplikacji.
Zwykle musisz zarejestrować wszystkie aplikacje projektu, ponieważ po włączeniu egzekwowania zasad w usłudze Firebase tylko zarejestrowane aplikacje będą miały dostęp do zasobów backendu tej usługi.
Opcjonalnie: w ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia danych (TTL) dla tokenów App Check wydanych przez dostawcę. TTL możesz ustawić na dowolną wartość z zakresu od 30 minut do 7 dni. Podczas zmiany tej wartości należy wziąć pod uwagę te kompromisy:
- Bezpieczeństwo: krótsze czasy TTL zapewniają większą ochronę, ponieważ zmniejszają czas, w którym atakujący może wykorzystać wyciek lub przechwycenie tokena.
- Wydajność: krótsze czasy TTL oznaczają, że aplikacja będzie częściej przeprowadzać weryfikację. Proces poświadczania aplikacji zwiększa opóźnienie żądań sieciowych za każdym razem, dlatego krótki czas TTL może wpływać na wydajność aplikacji.
- Limit i koszt: krótsze okresy ważności i częste ponowne uwierzytelnianie powodują szybsze wyczerpywanie limitu, a w przypadku płatnych usług mogą też zwiększać koszty. Zobacz Limity i kwoty.
Domyślny czas TTL wynoszący 1 godzinę jest rozsądny w przypadku większości aplikacji. Pamiętaj, że biblioteka App Check odświeża tokeny co około połowę czasu trwania wartości TTL.
2. Dodawanie biblioteki App Check do aplikacji
W pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle
) zadeklaruj zależność z biblioteką App Check na Androida:
dependencies {
implementation 'com.google.firebase:firebase-appcheck-safetynet:16.1.2'
}
3. Inicjowanie App Check
Dodaj do aplikacji ten kod inicjalizacji, aby był wykonywany przed użyciem innych pakietów SDK Firebase:
Kotlin+KTX
Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
SafetyNetAppCheckProviderFactory.getInstance()
)
Java
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
SafetyNetAppCheckProviderFactory.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 prawidłowych użytkowników. Jeśli jednak zauważysz podejrzane korzystanie z 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:
- Monitoruj dane żądań App Check w przypadku Realtime Database, Cloud Firestore, Cloud Storage, Authentication (beta) i Vertex AI in Firebase.
- 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 egzekwowanie zasad App Check dla: Realtime Database, Cloud Firestore, Cloud Storage, Authentication (beta) i Vertex AI in Firebase.
- Włącz wymuszanie App Check w Cloud Functions.
Używanie App Check w środowiskach debugowania
Jeśli po zarejestrowaniu aplikacji w App Check chcesz ją uruchamiać w środowisku, które App Check normalnie nie zostałoby sklasyfikowane jako prawidłowe, np. w emulatorze podczas programowania lub w środowisku ciągłej integracji (CI), możesz utworzyć kompilację do debugowania, która zamiast prawdziwego debugowania używa parametru App Check
Zapoznaj się z artykułem Korzystanie z App Check z dostawcą usług debugowania na Androidzie.