Pierwsze kroki ze Sprawdzaniem aplikacji za pomocą reCAPTCHA Enterprise w aplikacjach internetowych

Wybierz platformę: iOS+ Android Web Flutter


Z tej strony dowiesz się, jak skonfigurować App Check w aplikacji internetowej przy użyciu 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 JavaScript.

  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 Web i określ każdą z domen aplikacji internetowych.

      • App Check nie obsługuje aplikacji internetowych, które działają w więcej niż 250 domenach.

      • Nigdy nie dodawaj localhost jako domeny do klucza reCAPTCHA, który jest wdrażany w środowisku produkcyjnym (lub ma być w nim wdrożony).

      • Pozostaw opcję „Użyj wyzwania z polem wyboru” odznaczoną.

      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 internetowe, 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 biblioteki App Check do aplikacji

Jeśli jeszcze tego nie zrobiono, zainstaluj pakiet SDK Firebase JavaScript i zainicjuj Firebase w aplikacji.

3. Inicjowanie App Check

Dodaj poniższy App Checkkod inicjowania na początku aplikacji, aby był wykonywany przed uzyskaniem dostępu do usług Firebase w aplikacji.

Pamiętaj, aby przekazać ten sam klucz reCAPTCHA, którego używasz do rejestracji aplikacji w reCAPTCHA EnterpriseFirebase konsoli (patrz pierwsza sekcja przewodnika).

Web

import { initializeApp } from "firebase/app";
import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "firebase/app-check";

const app = initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance
// using your reCAPTCHA Enterprise key and pass it to `initializeAppCheck()`.
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaEnterpriseProvider(RECAPTCHA_KEY),
  isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh.
});

Web

firebase.initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance
// using your reCAPTCHA Enterprise key and pass it to `activate()`.
const appCheck = firebase.appCheck();
appCheck.activate(
  new firebase.appCheck.ReCaptchaEnterpriseProvider(
    RECAPTCHA_KEY
  ),
  true // Set to true to allow auto-refresh.
);

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 adresu localhost podczas programowania lub 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 w aplikacjach internetowych.

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.