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 będzie mieć dostęp do zasobów backendu projektu. Więcej informacji znajdziesz w 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 rozwiązania zadania w żadnym momencie.

Jeśli Twój przypadek użycia wymaga reCAPTCHA Enterprise funkcji, które nie są zaimplementowane w 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 jeszcze tego nie zrobiono, dodaj Firebase 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 API reCAPTCHA Enterprise.

    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 Apple w Firebase w projekcie w Firebase. W wartości identyfikatora pakietu rozróżniana jest 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 opartych na wyniku.

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

  3. W konsoli Firebase otwórz Bezpieczeństwo > 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 Checkwydawanych 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ż zmniejszają okno, 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 żądań sieciowych, więc krótki czas życia może wpływać na wydajność aplikacji.
    • Limit i koszt: krótsze wartości 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.

    Domyślna wartość TTL wynosząca 1 godzinę jest odpowiednia w przypadku większości aplikacji. Pamiętaj, że biblioteka App Check 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 klucza, 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 związanego z aplikacją, 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 przejrzyj poniżej ważne kwestie dotyczące konfigurowania progu ryzyka aplikacji.

2. Dodawanie do aplikacji pakietu App Check SDK

Do instalowania zależności Firebase i zarządzania nimi używaj Swift Package Manager (SPM). Jeśli korzystasz już z Firebase, upewnij się, że pakiet Firebase ma wersję 12.17.0 lub nowszą.

  1. W Xcode otwórz projekt aplikacji.

  2. Dodaj bibliotekę Firebase:

    1. Kliknij Plik > Dodaj pakiety.

    2. Gdy pojawi się odpowiedni komunikat, 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 bibliotekę FirebaseAppCheck.

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

    6. Gdy pojawi się prośba, dodaj bibliotekę do docelowej aplikacji.

  3. Dodaj bibliotekę reCAPTCHA Enterprise:

    1. Wróć do Plik > Dodaj pakiety.

    2. Gdy pojawi się odpowiedni komunikat, dodaj repozytorium pakietu SDK reCAPTCHA Enterprise:

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

    4. Kliknij Dodaj pakiet. Gdy pojawi się prośba, dodaj bibliotekę do docelowego miejsca w 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. App Check nie będzie jednak 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łóceń w działaniu 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ć App Check dane dotyczące usług, z których korzystasz:

Włącz egzekwowanie App Check

Gdy zrozumiesz, jak App Check wpłynie na Twoich użytkowników, i będziesz gotowy(-a) do dalszych działań, 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 używa 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 za każdym razem, gdy aplikacja odświeża token App Check, weryfikować token odpowiedzi użytkownika. 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 godzinę. Aby kontrolować, jak często aplikacja odświeża App Check tokeny (a tym samym, jak często tworzone są nowe oceny), możesz skonfigurować czas życia tokena.