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

Z tej strony dowiesz się, jak włączyć Sprawdzanie aplikacji w aplikacji internetowej przy użyciu dostawcy reCAPTCHA Enterprise. Włączenie Sprawdzania aplikacji daje pewność, że tylko Twoja aplikacja ma dostęp do zasobów Firebase projektu. Zapoznaj się z omówieniem tej funkcji.

Pamiętaj, że Sprawdzanie aplikacji używa kluczy witryny opartych na wyniku reCAPTCHA Enterprise, dzięki czemu są one niewidoczne dla użytkowników. Dostawca reCAPTCHA Enterprise nie będzie wymagać od użytkowników rozwiązania zadania w dowolnym momencie.

Jeśli chcesz używać Sprawdzania aplikacji z własnym dostawcą niestandardowym, przeczytaj artykuł Implementowanie niestandardowego dostawcy Sprawdzania aplikacji.

1. Skonfiguruj projekt Firebase

  1. Dodaj Firebase do swojego projektu JavaScript, jeśli jeszcze go nie masz.

  2. Otwórz sekcję 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. Musisz określić domeny, w których hostujesz swoją aplikację internetową. Opcję „Użyj testu zabezpieczającego” pozostaw niezaznaczone.
  3. Zarejestruj aplikacje, aby używać Sprawdzania aplikacji za pomocą dostawcy reCAPTCHA Enterprise w sekcji Sprawdzanie aplikacji w konsoli Firebase. Musisz podać klucz witryny uzyskany w poprzednim kroku.

    Zwykle musisz zarejestrować wszystkie aplikacje projektu, ponieważ po włączeniu egzekwowania zasad w usłudze Firebase tylko zarejestrowane aplikacje będą miały dostęp do zasobów backendu tej usługi.

  4. Opcjonalnie: w ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia (TTL) dla tokenów Sprawdzania aplikacji wystawionych przez dostawcę. TTL możesz ustawić 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 to większe bezpieczeństwo, ponieważ zmniejszają okno, w którym ujawniony lub przechwycony token może zostać wykorzystany przez atakującego.
    • Wydajność: krótsze wartości TTL oznaczają, że aplikacja będzie wykonywać atest częściej. Proces poświadczania aplikacji zwiększa opóźnienie żądań sieciowych za każdym razem, dlatego krótki czas TTL może wpływać na wydajność aplikacji.
    • Limit i koszt: krótsze wartości TTL i częste ponowne atesty szybciej wyczerpują limit, a w przypadku usług płatnych mogą kosztować więcej. Zobacz Limity.

    Domyślny czas TTL wynoszący 1 godzinę jest rozsądny w przypadku większości aplikacji. Pamiętaj, że biblioteka Sprawdzania aplikacji odświeża tokeny z około połowę czasu TTL.

2. Dodawanie biblioteki Sprawdzania aplikacji do aplikacji

Dodaj Firebase do swojej aplikacji internetowej, jeśli jeszcze nie zostało to zrobione. Pamiętaj, aby zaimportować bibliotekę Sprawdzania aplikacji.

3. Zainicjuj Sprawdzanie aplikacji

Zanim uzyskasz dostęp do usług Firebase, dodaj do swojej aplikacji poniższy kod inicjowania. Musisz przekazać klucz witryny reCAPTCHA Enterprise utworzony w konsoli Cloud do usługi 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 Sprawdzanie aplikacji w aplikacji wdróż ją.

Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny Sprawdzania aplikacji wraz z każdym żądaniem do Firebase, ale usługi Firebase nie będą wymagały ważności tokenów, dopóki nie włączysz wymuszania w sekcji Sprawdzanie aplikacji w konsoli Firebase.

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

Zanim jednak włączysz egzekwowanie, upewnij się, że nie zakłóci to działania istniejących prawidłowych użytkowników. Jeśli natomiast zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz szybciej włączyć egzekwowanie.

Aby ułatwić sobie podjęcie tej decyzji, możesz przejrzeć wskaźniki Sprawdzania aplikacji dotyczące używanych przez Ciebie usług:

Włącz wymuszanie Sprawdzania aplikacji

Gdy zrozumiesz, jak Sprawdzanie aplikacji wpłynie na Twoich użytkowników, możesz włączyć wymuszanie Sprawdzania aplikacji:

Używanie Sprawdzania aplikacji w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji na potrzeby Sprawdzania aplikacji chcesz uruchamiać ją w środowisku, którego Sprawdzanie aplikacji zwykle nie klasyfikowałoby jako prawidłowe, np. lokalnie w trakcie programowania lub w środowisku ciągłej integracji (CI), możesz utworzyć kompilację do debugowania aplikacji, która korzysta z dostawcy debugowania Sprawdzania aplikacji zamiast prawdziwego dostawcy atestu.

Zapoznaj się z artykułem na temat używania Sprawdzania aplikacji z dostawcą debugowania w aplikacjach internetowych.

Uwaga na temat kosztów

Sprawdzanie aplikacji tworzy w Twoim imieniu ocenę, aby zweryfikować token odpowiedzi użytkownika za każdym razem, gdy przeglądarka z Twoją aplikacją internetową odświeży swój token Sprawdzania aplikacji. Twój projekt będzie obciążany opłatą za każdą ocenę utworzoną powyżej limitu bezpłatnego. Aby dowiedzieć się więcej, zapoznaj się z cennikiem reCAPTCHA.

Domyślnie aplikacja internetowa będzie odświeżać ten token 2 razy co 1 godzinę. Aby określić, jak często aplikacja ma odświeżać tokeny Sprawdzania aplikacji (a tym samym jak często tworzone są nowe oceny), skonfiguruj ich wartość TTL.