| Wybierz platformę: | iOS+ Android Web Flutter |
Z tej strony dowiesz się, jak skonfigurować App Check w aplikacji na platformach Apple, za pomocą dostawcy reCAPTCHA Enterprise. App Check pomaga zapewnić że tylko Twoja aplikacja może uzyskiwać dostęp do zasobów backendu projektu. Więcej informacji znajdziesz w omówieniu App Check.
App Check wymaga użycia kluczy opartych na ocenie reCAPTCHA, które są niewidoczne dla użytkowników. Oznacza to, że reCAPTCHA Enterprise dostawca nie będzie wymagać od użytkowników rozwiązywania zadań.
Jeśli Twój przypadek użycia wymaga funkcji reCAPTCHA Enterprise, które nie są zaimplementowane przez App Check, lub jeśli chcesz używać App Check z własnym dostawcą niestandardowym , zapoznaj się z artykułem Implementowanie niestandardowego dostawcy App Check.
1. Konfigurowanie projektu w Firebase
Jeśli jeszcze tego nie zrobisz, dodaj Firebase do projektu Apple.
W konsoli Google Cloud otwórz stronę Fraud Defense, i wykonaj te czynności w przypadku dostawcy reCAPTCHA Enterprise:
Sprawdź, czy jesteś w odpowiednim projekcie (zobacz selektor projektów u góry ekranu).
Jeśli pojawi się prośba, włącz reCAPTCHA Enterprise API.
Utwórz klucz typu iOS i podaj identyfikator pakietu aplikacji (np.
com.example.my_app).Upewnij się, że wpisujesz ten sam identyfikator pakietu, który został podany podczas tworzenia aplikacji Firebase Apple w projekcie w Firebase. Wartość identyfikatora pakietu jest rozróżniana.
W przypadku App Check każdy identyfikator pakietu może odpowiadać tylko jednemu kluczowi reCAPTCHA.
Szczegółowe instrukcje znajdziesz w artykule Tworzenie kluczy opartych na ocenie reCAPTCHA.
Zanotuj ten klucz. Musisz go dodać do procesu rejestracji w konsoli Firebase.
W konsoli Firebase otwórz Zabezpieczenia > Sprawdzanie aplikacji.
Na karcie Aplikacje zarejestruj aplikacje na platformach Apple, aby używać App Check z dostawcą reCAPTCHA Enterprise. Musisz podać klucz, który został pobrany w konsoli Google Cloud.
Opcjonalnie: ustaw czas życia tokena (TTL).
W ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia (TTL) dla App Check tokenów wydawanych przez dostawcę. Możesz ustawić TTL na dowolną wartość od 30 minut do 7 dni. Podczas zmiany tej wartości pamiętaj o tych kompromisach:
- Bezpieczeństwo: krótsze TTL zapewniają większe bezpieczeństwo, ponieważ zmniejszają okno, w którym wyciekły lub przechwycony token może zostać wykorzystany przez atakującego.
- Skuteczność: krótsze TTL oznaczają, że aplikacja będzie częściej przeprowadzać potwierdzenie. Ponieważ proces potwierdzania aplikacji za każdym razem dodaje opóźnienie do żądań sieciowych, krótki TTL może wpłynąć na wydajność aplikacji.
- Limit i koszt: krótsze TTL i częste ponowne potwierdzanie szybciej wyczerpują limit, a w przypadku płatnych usług mogą kosztować więcej. Zobacz Limity.
Domyślny TTL wynoszący 1 godzinę jest odpowiedni dla większości aplikacji. Pamiętaj, że biblioteka App Check odświeża tokeny mniej więcej w połowie czasu TTL.
Opcjonalnie: Skonfiguruj ustawienia zaawansowane.
Kliknij Zapisz.
(Opcjonalnie) Konfigurowanie ustawień zaawansowanych
Gdy użytkownik otworzy Twoją aplikację, reCAPTCHA Enterprise oceni poziom ryzyka, jakie stwarza interakcja użytkownika z kluczem, i zwróci ocenę od 0,0 do 1,0 z przyrostem 0,1.
- Ocena 0,0 oznacza, że interakcja stwarza wysokie ryzyko i może być oszustwem.
- Ocena 1,0 oznacza, że interakcja stwarza niskie ryzyko i jest bardzo prawdopodobna.
App Check umożliwia skonfigurowanie progu ryzyka aplikacji , aby dostosować tolerancję na to ryzyko.
W większości przypadków zalecana jest domyślna wartość progu 0, 5. Jeśli Twój przypadek użycia wymaga dostosowania, możesz skonfigurować tę wartość dla każdej aplikacji w konsoli Firebase (kliknij Zabezpieczenia > Sprawdzanie aplikacji). Rozwiń i zapoznaj się z ważnymi kwestiami dotyczącymi konfigurowania progu ryzyka aplikacji.
2. Dodawanie pakietu SDK App Check do aplikacji
Do instalacji zależności Firebase i do zarządzania nimi możesz używać menedżera pakietów Swift (SPM). Jeśli już korzystasz z Firebase, upewnij się, że pakiet Firebase ma wersję 12.17.0 lub nowszą.
W Xcode otwórz projekt aplikacji.
Dodaj bibliotekę Firebase:
Kliknij kolejno File (Plik) > Add Packages (Dodaj pakiety).
Gdy pojawi się prośba, dodaj repozytorium pakietu SDK Firebase na platformach Apple:
https://github.com/firebase/firebase-ios-sdkWybierz najnowszą wersję pakietu SDK (12.17.0 lub nowszą).
Wybierz bibliotekę
FirebaseAppCheck.Kliknij Add Package (Dodaj pakiet). Xcode przetworzy i pobierze zależności.
Gdy pojawi się prośba, dodaj bibliotekę do celu aplikacji.
Dodaj bibliotekę reCAPTCHA Enterprise:
Wróć do File (Plik) > Add Packages (Dodaj pakiety).
Gdy pojawi się prośba, dodaj repozytorium pakietu SDK reCAPTCHA Enterprise:
https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdkWybierz bibliotekę
RecaptchaEnterprise.Kliknij Add Package (Dodaj pakiet). Gdy pojawi się prośba, dodaj bibliotekę do celu aplikacji.
3. Inicjowanie App Check
W aplikacji musisz zainicjować App Check, zanim zaczniesz korzystać z innych usług Firebase.
Utwórz instancję RecaptchaProviderFactory, przekazując klucz
reCAPTCHA, a następnie skonfiguruj App Check, aby z niej korzystać:
let providerFactory = RecaptchaProviderFactory(siteKey: "SITE_KEY")
AppCheck.setAppCheckProviderFactory(providerFactory)
FirebaseApp.configure()
4. Monitorowanie danych i włączanie wymuszania
Po skonfigurowaniu App Check w aplikacji zacznij rozpowszechniać zaktualizowaną aplikację wśród użytkowników.
Zaktualizowana aplikacja kliencka zacznie wysyłać App Check tokeny wraz z każdym żądaniem wysyłanym do Firebase. Sprawdzanie aplikacji nie będzie jednak App Check blokować żądań z nieprawidłowymi tokenami, dopóki nie zostanie włączone App Check wymuszanie Sprawdzania aplikacji.
Monitorowanie danych
Zanim włączysz egzekwowanie, upewnij się, że nie zakłóci to działania dotychczasowych prawowitych użytkowników. Jeśli jednak zauważysz podejrzane użycie zasobów aplikacji, możesz wcześniej włączyć wymuszanie.
Aby ułatwić podjęcie decyzji, możesz sprawdzić dane App Check dotyczące używanych usług:
- Monitoruj dane o żądaniachApp Check Sprawdzania aplikacji w przypadku Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API i Places API (New).
- Monitoruj dane o żądaniach App Check w przypadku 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ć wymuszanie App Check:
- Włącz egzekwowanieApp Check w przypadku Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API i Places API (New).
- Włącz wymuszanie w przypadku App CheckCloud Functions.
Używanie App Check w środowiskach debugowania
App Check klasyfikuje niektóre środowiska jako nieprawidłowe, np. żądania z emulatora lub symulatora podczas programowania albo ze środowiska trybu ciągłej integracji (CI).
Aby uruchomić aplikację w tych środowiskach po wymuszeniu App Check, musisz utworzyć kompilację debugowania aplikacji, która używa App Check dostawcy debugowania zamiast dostawcy potwierdzenia w środowisku produkcyjnym.
Więcej informacji znajdziesz w artykule Używanie App Check z dostawcą debugowania na platformach Apple.
Ceny
App Check tworzy ocenę w Twoim imieniu, aby zweryfikować token odpowiedzi użytkownika za każdym razem, gdy aplikacja odświeża token App Check. Za każdą ocenę utworzoną powyżej bezpłatnego limitu zostanie naliczona opłata w projekcie w Firebase. Więcej informacji znajdziesz w reCAPTCHA cenniku.
Domyślnie aplikacja będzie odświeżać ten token 2 razy na 1 godzinę. Aby kontrolować, jak często aplikacja odświeża tokeny App Check (a tym samym, jak często tworzone są nowe oceny), możesz skonfigurować czas życia tokena.