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

Z tej strony dowiesz się, jak włączyć funkcję App Check w aplikacji internetowej przy użyciu Dostawca reCAPTCHA Enterprise. Gdy włączysz usługę App Check, będziesz mieć pewność, aby dostęp do zasobów Firebase projektu miał tylko aplikacja. Zobacz Omówienie tej funkcji.

Pamiętaj, że App Check korzysta z kluczy witryny opartych na wyniku reCAPTCHA Enterprise, uczynić go niewidocznymi dla użytkowników. Dostawca reCAPTCHA Enterprise nie będzie wymagał aby rozwiązać zadanie w każdej chwili.

Jeśli chcesz używać usługi App Check z własnym dostawcą niestandardowym, zobacz Zaimplementuj niestandardowego dostawcę App Check.

1. Skonfiguruj projekt Firebase

  1. Dodaj Firebase do swojego projektu JavaScript, jeśli jeszcze nie zostało to zrobione. jeśli już to zrobili.

  2. Otwórz reCAPTCHA Enterprise. w konsoli Cloud i wykonaj te czynności:

    1. Jeśli pojawi się prośba o włączenie interfejsu reCAPTCHA Enterprise API, zrób to.
    2. Utwórz klucz typu Witryna. Konieczne będzie określenie domen, w których na serwerze internetowym. Pozostaw pole „Użyj testu zabezpieczającego”. opcja odznaczono.
  3. Zarejestruj aplikacje, aby używać App Check z reCAPTCHA Enterprise dostawcy w Sekcja App Check w Konsola Firebase. Musisz podać klucz witryny otrzymany w poprzedniego kroku.

    Zwykle konieczne jest zarejestrowanie wszystkich aplikacji związanych z projektem, ponieważ włączysz egzekwowanie zasad dla usługi Firebase, tylko zarejestrowane aplikacje będą mogły na dostęp do zasobów backendu usługi.

  4. Opcjonalnie: w ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia danych (TTL) dla App Check tokenów wystawionych przez dostawcę. Możesz ustawić wartość TTL na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę wartość, pamiętaj o tych wadach:

    • Bezpieczeństwo: krótsze wartości TTL zapewniają silniejsze zabezpieczenia, ponieważ zmniejszają okno, w którym ujawniony lub przechwycony token może zostać wykorzystany przez atakującego.
    • Wydajność: krótsze wartości TTL oznaczają większą wydajność atestu aplikacji często. Ponieważ proces poświadczania aplikacji zwiększa opóźnienie sieci. żądań przy każdym wykonaniu, krótki czas TTL może wpływać na wydajność Twojej aplikacji.
    • Limit i koszt: krótsze wartości TTL i częsta ponowna atestacja powodują wyczerpywanie się przyśpieszać limity, a w przypadku usług płatnych może to być wyższe. Zobacz Limity i .

    Domyślna wartość TTL 1 godzina jest rozsądny w przypadku większości aplikacji. Pamiętaj, że biblioteka App Check jest odświeżana tokeny z mniej więcej połowę czasu TTL.

2. Dodaj bibliotekę App Check do aplikacji

Dodaj Firebase do swojej aplikacji internetowej, jeśli jeszcze nie zostało to zrobione. Upewnij się, aby zaimportować bibliotekę App Check.

3. Zainicjuj instancję App Check

Przed uzyskaniem dostępu do dowolnej aplikacji dodaj do niej następujący kod inicjowania Usługi Firebase. Musisz przekazać klucz witryny reCAPTCHA Enterprise utworzony w konsoli Cloud, na activate().

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
// site key and pass it to initializeAppCheck().
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaEnterpriseProvider(/* reCAPTCHA Enterprise site 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
// site key and pass it to activate().
const appCheck = firebase.appCheck();
appCheck.activate(
  new firebase.appCheck.ReCaptchaEnterpriseProvider(
    /* reCAPTCHA Enterprise site key */
  ),
  true // Set to true to allow auto-refresh.
);

Dalsze kroki

Po zainstalowaniu biblioteki App Check w aplikacji wdróż ją.

Zaktualizowana aplikacja kliencka zacznie wysyłać App Check tokeny wraz z każdym i wysyła żądania do Firebase, ale usługi Firebase nie będą wymagać tokenów będzie ważna do momentu włączenia egzekwowania w sekcji App Check konsoli Firebase.

Monitorowanie wskaźników i włączanie wymuszania

Zanim jednak włączysz wymuszanie, upewnij się, że nie zakłócać działanie istniejących prawidłowych użytkowników. Z drugiej strony, jeśli widzisz podejrzane wykorzystanie zasobów aplikacji, warto włączyć wymuszanie szybciej.

W podjęciu decyzji może pomóc kilka informacji (App Check): używanych usług:

Włącz egzekwowanie zasady App Check

Gdy zrozumiesz, jak App Check wpłynie na Twoich użytkowników, możesz zacząć kontynuuj, możesz włączyć egzekwowanie zasady App Check:

Używaj narzędzia App Check w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji w usłudze App Check chcesz ją uruchomić w środowisku, którego App Check normalnie nie sklasyfikowałby jako prawidłowe, np. lokalnie w trakcie programowania lub w trybie ciągłej integracji (CI) możesz utworzyć kompilację do debugowania aplikacji wykorzystującą App Check dostawca debugowania zamiast prawdziwego dostawcy atestu.

Zobacz Używanie pola App Check z dostawcą debugowania w aplikacjach internetowych.

Uwaga na temat kosztów

App Check tworzy w Twoim imieniu ocenę, aby zweryfikować token odpowiedzi za każdym razem, gdy przeglądarka uruchomiona w Twojej aplikacji internetowej odświeży Token App Check. Twój projekt zostanie obciążony opłatą za każdą utworzoną ocenę przekracza limit bezpłatny. Zobacz cennik reCAPTCHA .

Domyślnie aplikacja internetowa będzie odświeżać ten token 2 razy co 1 godzinę. Do określ, jak często aplikacja odświeża tokeny App Check (i jak często tworzone są nowe oceny), skonfiguruj ich wartość TTL.