Rozpocznij korzystanie z sprawdzania aplikacji z reCAPTCHA Enterprise w aplikacjach internetowych

Na tej stronie pokazano, jak włączyć Sprawdzanie aplikacji w aplikacji internetowej przy użyciu dostawcy reCAPTCHA Enterprise. Włączając Sprawdzanie aplikacji, możesz mieć pewność, że tylko Twoja aplikacja będzie miała dostęp do zasobów Firebase Twojego projektu. Zobacz przegląd tej funkcji.

Należy pamiętać, że funkcja App Check wykorzystuje klucze witryny oparte na wynikach reCAPTCHA Enterprise, dzięki czemu jest ona niewidoczna dla użytkowników. Dostawca reCAPTCHA Enterprise nie będzie wymagał od użytkowników rozwiązywania wyzwania w żadnym momencie.

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

1. Skonfiguruj projekt Firebase

  1. Dodaj Firebase do swojego projektu JavaScript, jeśli jeszcze tego nie zrobiłeś.

  2. Otwórz sekcję reCAPTCHA Enterprise w konsoli Cloud i wykonaj następujące czynności:

    1. Jeśli zostanie wyświetlony monit o włączenie interfejsu API reCAPTCHA Enterprise, zrób to.
    2. Utwórz klucz typu WWW . Musisz określić domeny, w których hostujesz swoją aplikację internetową. Pozostaw opcję „Użyj wyzwania pola wyboru” niezaznaczoną .
  3. Zarejestruj swoje aplikacje, aby móc korzystać z Sprawdzania aplikacji u dostawcy reCAPTCHA Enterprise w sekcji Sprawdzanie aplikacji w konsoli Firebase. Będziesz musiał podać klucz witryny otrzymany w poprzednim kroku.

    Zwykle musisz zarejestrować wszystkie aplikacje w swoim projekcie, ponieważ po włączeniu wymuszania dla produktu Firebase tylko zarejestrowane aplikacje będą mogły uzyskać dostęp do zasobów zaplecza produktu.

  4. Opcjonalnie : w ustawieniach rejestracji aplikacji ustaw niestandardowy czas wygaśnięcia (TTL) dla tokenów Sprawdzania aplikacji wydawanych przez dostawcę. Można ustawić TTL na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę ​​wartość, należy pamiętać o następujących kompromisach:

    • Bezpieczeństwo: Krótsze czasy TTL zapewniają większe bezpieczeństwo, ponieważ zmniejszają okno, w którym atakujący może wykorzystać wyciekający lub przechwycony token.
    • Wydajność: krótsze czasy TTL oznaczają, że aplikacja będzie częściej przeprowadzać atestację. Ponieważ proces zaświadczania aplikacji za każdym razem zwiększa opóźnienie żądań sieciowych, krótki czas TTL może mieć wpływ na wydajność aplikacji.
    • Limit i koszt: Krótsze TTL i częste ponowne atesty szybciej wyczerpują Twój limit, a w przypadku usług płatnych potencjalnie kosztują więcej. Zobacz Przydziały i limity .

    Domyślny TTL wynoszący 1 godzinę jest rozsądny w przypadku większości aplikacji. Należy pamiętać, że biblioteka sprawdzania aplikacji odświeża tokeny w przybliżeniu o połowę czasu trwania TTL.

2. Dodaj bibliotekę App Check do swojej aplikacji

Dodaj Firebase do swojej aplikacji internetowej, jeśli jeszcze tego nie zrobiłeś. Pamiętaj, aby zaimportować bibliotekę App Check.

3. Zainicjuj sprawdzanie aplikacji

Dodaj następujący kod inicjujący do swojej aplikacji, zanim uzyskasz dostęp do jakichkolwiek usług Firebase. Aby activate() będziesz musiał przekazać klucz witryny reCAPTCHA Enterprise, który utworzyłeś w konsoli Cloud.

Web modular API

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 namespaced API

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.
);

Następne kroki

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

Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny Sprawdzania aplikacji wraz z każdym żądaniem wysyłanym do Firebase, ale produkty Firebase nie będą wymagać, aby tokeny były ważne, dopóki nie włączysz wymuszania w sekcji Sprawdzanie aplikacji w konsoli Firebase.

Monitoruj metryki i włączaj egzekwowanie

Zanim jednak włączysz wymuszanie, upewnij się, że nie zakłóci to działania istniejących legalnych użytkowników. Z drugiej strony, jeśli zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz wcześniej włączyć egzekwowanie zasad.

Aby pomóc w podjęciu tej decyzji, możesz sprawdzić dane App Check dotyczące usług, z których korzystasz:

Włącz wymuszanie sprawdzania aplikacji

Kiedy już zrozumiesz, jak Kontrola aplikacji wpłynie na Twoich użytkowników i będziesz gotowy, aby kontynuować, możesz włączyć wymuszanie sprawdzania aplikacji:

Użyj sprawdzania aplikacji w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji w Kontroli aplikacji chcesz ją uruchomić w środowisku, którego weryfikacja aplikacji normalnie nie sklasyfikowałaby jako prawidłowe, na przykład lokalnie podczas programowania lub w środowisku ciągłej integracji (CI), możesz utworzyć kompilacja debugowania aplikacji, która korzysta z dostawcy debugowania App Check zamiast prawdziwego dostawcy zaświadczenia.

Zobacz Używanie sprawdzania aplikacji z dostawcą debugowania w aplikacjach internetowych .

Uwaga dotycząca kosztów

Kontrola aplikacji tworzy w Twoim imieniu ocenę, aby zweryfikować token odpowiedzi użytkownika za każdym razem, gdy przeglądarka, w której działa Twoja aplikacja internetowa, odświeży swój token Sprawdzania aplikacji. Twój projekt zostanie obciążony opłatą za każdą wycenę utworzoną powyżej limitu bezpłatnego. Szczegółowe informacje można znaleźć w cenniku reCAPTCHA Enterprise .

Domyślnie Twoja aplikacja internetowa będzie odświeżać ten token dwa razy co godzinę . Aby kontrolować częstotliwość odświeżania tokenów App Check przez aplikację (a tym samym częstotliwość tworzenia nowych ocen), skonfiguruj ich TTL .