Na tej stronie pokazano, jak włączyć Sprawdzanie aplikacji w aplikacji na Androida, korzystając z wbudowanego dostawcy SafetyNet. 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. Zobacz przegląd tej funkcji.
App Check będzie nadal obsługiwać istniejące projekty SafetyNet do czerwca 2023 r., po czym konfiguracje SafetyNet zostaną zamrożone i nie będzie można ich modyfikować. Po czerwcu 2024 r. wszystkie funkcje SafetyNet zostaną trwale wyłączone i usunięte.
Jeśli chcesz używać Sprawdzania aplikacji z własnym dostawcą niestandardowym, zobacz Implementowanie niestandardowego dostawcy sprawdzania aplikacji .
1. Skonfiguruj projekt Firebase
Dodaj Firebase do swojego projektu na Androida, jeśli jeszcze tego nie zrobiłeś.
Zarejestruj swoje aplikacje, aby móc korzystać z Sprawdzania aplikacji u dostawcy SafetyNet w sekcji Sprawdzanie aplikacji w konsoli Firebase. Musisz podać odcisk palca SHA-256 certyfikatu podpisywania aplikacji.
Zwykle musisz zarejestrować wszystkie aplikacje w swoim projekcie, ponieważ po włączeniu wymuszania dla produktu Firebase tylko zarejestrowane aplikacje będą mogły uzyskać dostęp do zasobów zaplecza produktu.
Opcjonalnie : w ustawieniach rejestracji aplikacji ustaw niestandardowy czas wygaśnięcia (TTL) dla tokenów Sprawdzania aplikacji wydawanych przez dostawcę. Można ustawić TTL na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę wartość, należy pamiętać o następujących kompromisach:
- Bezpieczeństwo: Krótsze czasy TTL zapewniają większe bezpieczeństwo, ponieważ zmniejszają okno, w którym atakujący może wykorzystać wyciekający lub przechwycony token.
- Wydajność: krótsze czasy TTL oznaczają, że aplikacja będzie częściej przeprowadzać atestację. Ponieważ proces zaświadczania aplikacji za każdym razem zwiększa opóźnienie żądań sieciowych, krótki czas TTL może mieć wpływ na wydajność aplikacji.
- Limit i koszt: Krótsze TTL i częste ponowne atesty szybciej wyczerpują Twój limit, a w przypadku usług płatnych potencjalnie kosztują więcej. Zobacz Przydziały i limity .
Domyślny TTL wynoszący 1 godzinę jest rozsądny w przypadku większości aplikacji. Należy pamiętać, że biblioteka sprawdzania aplikacji odświeża tokeny w przybliżeniu o połowę czasu trwania TTL.
2. Dodaj bibliotekę App Check do swojej aplikacji
W pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle
) zadeklaruj zależność biblioteki App Check dla Androida:
dependencies {
implementation 'com.google.firebase:firebase-appcheck-safetynet:16.1.2'
}
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:
Kotlin+KTX
Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
SafetyNetAppCheckProviderFactory.getInstance()
)
Java
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
SafetyNetAppCheckProviderFactory.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 ją uruchomić 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 Korzystanie z funkcji sprawdzania aplikacji u dostawcy debugowania w systemie Android .