Pierwsze kroki z używaniem Sprawdzania aplikacji za pomocą reCAPTCHA Enterprise na platformach Apple

Wybierz platformę: iOS+ Android Web Flutter


Na tej stronie dowiesz się, jak skonfigurować App Check w aplikacji na platformy Apple za pomocą dostawcy reCAPTCHA Enterprise. App Check pomaga zapewnić, że tylko Twoja aplikacja ma dostęp do zasobów backendu projektu. Więcej informacji znajdziesz w naszym omówieniu App Check.

App Check wymaga użycia kluczy opartych na wyniku reCAPTCHA, które są niewidoczne dla użytkowników. Oznacza to, że reCAPTCHA Enterprisedostawca nie będzie wymagać od użytkowników wykonania zadania w żadnym momencie.

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

  1. Jeśli nie korzystasz jeszcze z Firebase, dodaj ją do projektu Apple.

  2. W konsoli Google Cloud otwórz stronę Ochrona przed oszustwami i wykonaj te czynności w przypadku dostawcy reCAPTCHA Enterprise:

    1. Sprawdź, czy jesteś w odpowiednim projekcie (użyj selektora projektów u góry ekranu).

    2. W razie potrzeby włącz interfejs reCAPTCHA Enterprise API.

    3. Utwórz klucz typu iOS i określ identyfikator pakietu aplikacji (np. com.example.my_app).

      • Upewnij się, że wpisujesz ten sam identyfikator pakietu, który został podany podczas tworzenia aplikacji Firebase na iOS w projekcie w Firebase. W wartości identyfikatora pakietu jest rozróżniana wielkość liter.

      • W przypadku App Check każdy identyfikator pakietu może odpowiadać tylko jednemu kluczowi reCAPTCHA.

      Szczegółowe instrukcje znajdziesz w artykule Tworzenie kluczy reCAPTCHA na podstawie oceny.

    4. Zanotuj ten klucz. Musisz dodać go do procesu rejestracji w Firebase konsoli.

  3. W konsoli Firebase otwórz Zabezpieczenia > Sprawdzanie aplikacji.

  4. Na karcie Aplikacje zarejestruj aplikacje na platformę Apple, aby używać App Check z dostawcą reCAPTCHA Enterprise. Musisz podać klucz uzyskany w Google Cloud konsoli.

  5. Opcjonalnie: ustaw czas życia tokena (TTL).

    W ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia danych (TTL) dla tokenów App Check wydawanych przez dostawcę. Możesz ustawić czas życia na dowolną wartość z zakresu 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ą okres, w którym wyciekły lub przechwycony token może zostać wykorzystany przez atakującego.
    • Wydajność: krótsze czasy TTL oznaczają, że aplikacja będzie częściej przeprowadzać atestowanie. Proces potwierdzania aplikacji za każdym razem, gdy jest wykonywany, zwiększa opóźnienie w przypadku żądań sieciowych, dlatego krótki czas TTL może mieć wpływ na wydajność aplikacji.
    • Limit i koszt: krótsze czasy TTL i częste ponowne potwierdzanie wyczerpują limit szybciej, a w przypadku usług płatnych mogą generować wyższe koszty. Zobacz Limity przydziału i limity systemu.

    Domyślny czas życia wynoszący 1 godzinę jest odpowiedni w przypadku większości aplikacji. Pamiętaj, że App Check biblioteka odświeża tokeny mniej więcej w połowie czasu trwania TTL.

  6. Opcjonalnie: skonfiguruj ustawienia zaawansowane.

  7. Kliknij Zapisz.

(Opcjonalnie) Skonfiguruj ustawienia zaawansowane

Gdy użytkownik otworzy Twoją aplikację, reCAPTCHA Enterprise oceni poziom ryzyka, jakie stwarza interakcja użytkownika w ramach kluczowego działania, i zwróci wynik w zakresie od 0,0 do 1,0 z przyrostem równym 0,1.

  • Wynik 0,0 oznacza, że interakcja wiąże się z wysokim ryzykiem i może być nieuczciwa.
  • Wynik 1,0 oznacza, że interakcja wiąże się z niewielkim ryzykiem i jest bardzo prawdopodobnie uzasadniona.

App Check umożliwia skonfigurowanie progu ryzyka aplikacji, dzięki czemu możesz dostosować swoją tolerancję tego ryzyka.

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 Firebase konsoli (kliknij Bezpieczeństwo > Sprawdzanie aplikacji). Rozwiń i sprawdź poniżej ważne kwestie dotyczące 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 korzystasz już z Firebase, upewnij się, że pakiet Firebase ma wersję 12.17.0 lub nowszą.

  1. Otwórz projekt aplikacji w Xcode.

  2. Dodaj bibliotekę Firebase:

    1. Kliknij Plik > Dodaj pakiety.

    2. Gdy pojawi się prośba, dodaj repozytorium pakietu SDK Firebase na platformy Apple:

      https://github.com/firebase/firebase-ios-sdk
      
    3. Wybierz najnowszą wersję pakietu SDK (12.17.0 lub nowszą).

    4. Wybierz FirebaseAppCheck bibliotekę.

    5. Kliknij Dodaj pakiet. Xcode przetworzy i pobierze zależności.

    6. Gdy pojawi się odpowiedni komunikat, dodaj bibliotekę do docelowej aplikacji.

  3. Dodaj bibliotekę reCAPTCHA Enterprise:

    1. Wróć do Plik > Dodaj pakiety.

    2. Gdy pojawi się prośba, dodaj repozytorium SDK reCAPTCHA Enterprise:

      https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdk
      
    3. Wybierz RecaptchaEnterprise bibliotekę.

    4. Kliknij Dodaj pakiet. Gdy pojawi się prośba, dodaj bibliotekę do docelowego miejsca 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 tak, aby z niej korzystała:

let providerFactory = RecaptchaProviderFactory(siteKey: "SITE_KEY")
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

4. Monitorowanie danych i włączanie egzekwowania

Po skonfigurowaniu App Check w aplikacji zacznij rozpowszechniać zaktualizowaną aplikację 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 App Check nie zostanie wdrożony.

Monitorowanie danych

Zanim włączysz egzekwowanie, upewnij się, że nie spowoduje to zakłócenia działania istniejących, legalnych użytkowników. Jeśli jednak zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz włączyć egzekwowanie wcześniej.

Aby podjąć tę decyzję, możesz sprawdzić dane App Check dotyczące usług, z których korzystasz:

Włączanie egzekwowania App Check

Gdy zrozumiesz, jak App Check wpłynie na Twoich użytkowników, i będziesz gotowy(-a) do kontynuowania, możesz włączyć egzekwowanie App Check:

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 typach środowisk po wprowadzeniu App Check, musisz utworzyć wersję debugowania aplikacji, która zamiast dostawcy atestów produkcyjnych korzysta z App Check dostawcy debugowania.

Więcej informacji znajdziesz w artykule Używanie App Check z dostawcą debugowania na platformach Apple.

Ceny

App Check tworzy w Twoim imieniu ocenę, aby weryfikować token odpowiedzi użytkownika za każdym razem, gdy Twoja aplikacja odświeża token App Check. Za każdą ocenę utworzoną powyżej bezpłatnego limitu Twój projekt w Firebase zostanie obciążony opłatą. Więcej informacji znajdziesz w sekcji reCAPTCHA cennik.

Domyślnie aplikacja 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.