| Wybierz platformę: | iOS+ Android Web Flutter |
Na tej stronie dowiesz się, jak skonfigurować App Check w aplikacji na platformy Apple przy użyciu dostawcy reCAPTCHA Enterprise. App Check pomaga zapewnić, że tylko Twoja aplikacja będzie miała dostęp do zasobów backendu projektu. Więcej informacji znajdziesz w omówieniu App Check.
App Check wymaga użycia kluczy reCAPTCHA opartych na wynikach, dzięki czemu jest niewidoczna dla użytkowników. Oznacza to, że dostawca reCAPTCHA Enterprise nie będzie wymagać od użytkowników wykonania zadania.
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
Dodaj Firebase do projektu aplikacji na urządzenia Apple, jeśli nie korzystasz w nim jeszcze z tej usługi.
W konsoli Google Cloud otwórz stronę Fraud Defense i wykonaj te czynności dla dostawcy reCAPTCHA Enterprise:
Upewnij się, że jesteś w odpowiednim projekcie (patrz selektor projektów u góry ekranu).
Jeśli pojawi się taka prośba, włącz interfejs reCAPTCHA Enterprise API.
Utwórz klucz typu iOS i określ identyfikator pakietu aplikacji (np.
com.example.my_app).Pamiętaj, aby wpisać ten sam identyfikator pakietu, który został podany podczas tworzenia aplikacji Firebase na urządzenia Apple w projekcie w Firebase. W wartości identyfikatora pakietu wielkość liter ma znaczenie.
W przypadku App Check każdy identyfikator pakietu może odpowiadać tylko jednemu kluczowi reCAPTCHA.
Szczegółowe instrukcje znajdziesz w artykule Tworzenie kluczy reCAPTCHA opartych na wynikach.
Zapisz ten klucz. Musisz dodać go do procesu rejestracji w konsoli Firebase.
W konsoli Firebase otwórz Zabezpieczenia > Sprawdzanie aplikacji.
Na karcie Aplikacje zarejestruj aplikacje na platformę Apple, aby używać App Check z dostawcą reCAPTCHA Enterprise. Musisz podać klucz uzyskany w konsoli Google Cloud.
Opcjonalnie: ustaw czas życia danych (TTL) tokena.
W ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia (TTL) tokenów App Check wydawanych przez dostawcę. Możesz ustawić TTL na dowolną wartość od 30 minut do 7 dni. Zmieniając tę wartość, pamiętaj o tych kompromisach:
- Bezpieczeństwo: krótsze wartości TTL zapewniają większe bezpieczeństwo, ponieważ skracają czas, w którym haker może wykorzystać przejęty lub przechwycony token.
- Wydajność: krótsze wartości TTL oznaczają, że aplikacja będzie częściej przeprowadzać atestację. Proces atestacji aplikacji zwiększa czas oczekiwania na żądania sieciowe przy każdym wykonaniu, więc krótki czas TTL może wpływać na wydajność aplikacji.
- Limit i koszt: krótsze wartości TTL i częste ponowne atestowanie szybciej wyczerpują limit, a w przypadku usług płatnych mogą potencjalnie kosztować więcej. Zobacz Limity i ograniczenia.
Domyślna wartość TTL wynosząca 1 godzinę jest odpowiednia dla większości aplikacji. Pamiętaj, że biblioteka App Check odświeża tokeny po upływie mniej więcej połowy czasu TTL.
Opcjonalnie: skonfiguruj ustawienia zaawansowane.
Kliknij Zapisz.
(Opcjonalnie) Konfigurowanie ustawień zaawansowanych
Gdy użytkownik otwiera aplikację, reCAPTCHA Enterprise ocenia poziom ryzyka, jaki stwarza interakcja użytkownika z kluczem, i zwraca wynik z zakresu od 0,0 do 1,0 z przyrostem co 0,1.
- Wynik 0,0 oznacza, że interakcja wiąże się z wysokim ryzykiem i może być oszustwem.
- Wynik 1,0 oznacza, że interakcja wiąże się z niewielkim ryzykiem i jest bardzo prawdopodobnie uzasadniona.
App Check umożliwia skonfigurowanie progu ryzyka związanego z aplikacją, dzięki czemu możesz dostosować swoją tolerancję na to ryzyko.
W większości przypadków zalecana jest domyślna wartość progowa 0, 5. Jeśli Twój przypadek użycia wymaga dostosowania, możesz skonfigurować tę wartość dla każdej aplikacji w konsoli Firebase (kliknij Bezpieczeństwo > Sprawdzanie aplikacji). Rozwiń i przeczytaj poniżej ważne informacje o konfigurowaniu progu ryzyka aplikacji.
2. Dodaj pakiet SDK App Check do aplikacji
Do instalowania zależności Firebase i zarządzania nimi używaj menedżera pakietów Swift (SPM). Jeśli korzystasz już z Firebase, upewnij się, że masz pakiet Firebase w wersji 12.17.0 lub nowszej.
Otwórz projekt aplikacji w Xcode.
Dodaj bibliotekę Firebase:
Kliknij File > Add Packages (Plik > Dodaj pakiety).
Gdy pojawi się prośba, dodaj repozytorium pakietu SDK Firebase na platformy Apple:
https://github.com/firebase/firebase-ios-sdkWybierz najnowszą wersję pakietu SDK (12.17.0 lub nowszą).
Wybierz bibliotekę
FirebaseAppCheck.Kliknij 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 > Add Packages (Plik > Dodaj pakiety).
Gdy pojawi się prośba, dodaj repozytorium pakietu reCAPTCHA Enterprise SDK:
https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdkWybierz bibliotekę
RecaptchaEnterprise.Kliknij Dodaj pakiet. Gdy pojawi się taka prośba, dodaj bibliotekę do celu aplikacji.
3. Zainicjuj App Check
Zanim zaczniesz korzystać z innych usług Firebase, musisz zainicjować App Check w aplikacji.
Utwórz instancję RecaptchaProviderFactory, przekazując klucz reCAPTCHA, a następnie skonfiguruj App Check, aby jej używać:
let providerFactory = RecaptchaProviderFactory(siteKey: "SITE_KEY")
AppCheck.setAppCheckProviderFactory(providerFactory)
FirebaseApp.configure()
4. Monitorowanie wskaźników i włączanie egzekwowania zasad
Po skonfigurowaniu App Check w aplikacji zacznij rozpowszechniać jej zaktualizowaną wersję wśród użytkowników.
Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny App Check wraz z każdym żądaniem wysyłanym do Firebase. Jednak App Check nie będzie blokować żądań z nieprawidłowymi tokenami, dopóki nie zostanie wymuszona App Check.
Monitorowanie danych
Zanim włączysz egzekwowanie, upewnij się, że nie zakłóci to działania aplikacji u obecnych, uprawnionych użytkowników. Jeśli jednak zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz włączyć egzekwowanie wcześniej.
Aby podjąć decyzję, możesz sprawdzić dane App Check dotyczące usług, z których korzystasz:
- Monitorowanie danych o żądaniach App Check w przypadku Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity na iOS, Maps JavaScript API i Places API (nowego).
- Monitorowanie danych żądań App Check dla Cloud Functions.
Włącz egzekwowanie zasad App Check
Gdy zrozumiesz, jak App Check wpłynie na użytkowników, i będziesz gotowy(-a) do dalszych działań, możesz włączyć egzekwowanie App Check:
- Włącz egzekwowanie zasad App Check w przypadku: Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity na iOS, Maps JavaScript API i Places API (nowy).
- Włącz egzekwowanie App Check dla: Cloud 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 lub ze środowiska trybu ciągłej integracji (CI).
Aby po wprowadzeniu App Check uruchamiać aplikację w tego typu środowiskach, musisz utworzyć kompilację do debugowania, która zamiast produkcyjnego dostawcy atestu będzie używać dostawcy debugowania App Check.
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 obciążony Twój projekt w Firebase. Więcej informacji znajdziesz w artykule o cenach reCAPTCHA.
Domyślnie aplikacja będzie odświeżać ten token 2 razy na 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.