Pierwsze kroki z Sprawdzaniem aplikacji za pomocą reCAPTCHA w wersji 3 w aplikacjach internetowych

Na tej stronie dowiesz się, jak włączyć App Check w aplikacji internetowej za pomocą wbudowanego dostawcy reCAPTCHA v3. Gdy włączysz App Check, pomożesz zapewnić, że tylko Twoja aplikacja będzie mogła uzyskiwać dostęp do zasobów Firebase w Twoim projekcie. Zobacz an Przegląd tej funkcji.

Pamiętaj, że reCAPTCHA v3 jest niewidoczna dla użytkowników. Dostawca reCAPTCHA v3 nigdy nie będzie wymagać od użytkowników rozwiązywania testu. Zapoznaj się z dokumentacją reCAPTCHA v3.

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

1. Skonfiguruj projekt w Firebase

  1. Jeśli jeszcze tego nie zrobisz, dodaj Firebase do projektu JavaScript.

  2. Zarejestruj swoją witrynę w reCAPTCHA v3 i uzyskaj klucz witryny reCAPTCHA v3 oraz klucz tajny.

  3. W konsoli Firebase otwórz Zabezpieczenia > Sprawdzanie aplikacji.

  4. Na karcie Aplikacje zarejestruj aplikacje, aby używać App Check z dostawcą reCAPTCHA. Musisz podać klucz tajny , który został uzyskany w witrynie reCAPTCHA.

    Zwykle musisz zarejestrować wszystkie aplikacje w projekcie, ponieważ gdy włączysz egzekwowanie zasad w przypadku usługi Firebase, tylko zarejestrowane aplikacje będą mogły uzyskiwać dostęp do zasobów backendu tej usługi.

  5. Opcjonalnie: w ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia (TTL) tokenów wydawanych przez dostawcę.App Check Możesz ustawić TTL na dowolną wartość od 30 minut do 7 dni. Podczas zmiany tej wartości pamiętaj o tych kompromisach:

    • Bezpieczeństwo: krótsze czasy 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ć atestację. Ponieważ proces atestacji aplikacji dodaje opóźnienie do żądań sieciowych za każdym razem, gdy jest wykonywany, krótki czas TTL może wpłynąć na wydajność aplikacji.
    • Limit i koszt: krótsze czasy TTL i częste ponowne atestacje szybciej wyczerpują limit, a w przypadku usług płatnych mogą generować wyższe koszty. Zobacz Limity.

    Domyślny czas TTL wynoszący 1 dzień jest odpowiedni dla większości aplikacji. Pamiętaj, że biblioteka App Check odświeża tokeny mniej więcej w połowie czasu TTL.

Skonfiguruj ustawienia zaawansowane (opcjonalnie)

Gdy użytkownik odwiedza Twoją aplikację internetową, reCAPTCHA v3 ocenia poziom ryzyka, jakie stwarza interakcja użytkownika, i zwraca wynik od 0,0 do 1,0. Wynik 1,0 oznacza, że z dużym prawdopodobieństwem chodzi o prawidłową interakcję, a wynik 0,0 – że z dużym prawdopodobieństwem chodzi o bota. App Check umożliwia skonfigurowanie progu ryzyka aplikacji , dzięki czemu możesz dostosować tolerancję na to ryzyko.

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 to zrobić w sekcji App Check w konsoli Firebase dla każdej aplikacji internetowej.

Szczegóły

App Check używa skonfigurowanego progu ryzyka aplikacji jako minimalnego wyniku reCAPTCHA v3 wymaganego, aby interakcja użytkownika została uznana za prawidłową. Wszystkie wyniki reCAPTCHA v3, które są ściśle mniejsze niż skonfigurowany próg ryzyka aplikacji, zostaną odrzucone. Podczas dostosowywania progu ryzyka aplikacji pamiętaj o tych kwestiach:

  • Aby monitorować rozkład wyników reCAPTCHA v3 w aplikacji internetowej, otwórz konsolę administracyjną reCAPTCHA i wybierz witrynę odpowiadającą aplikacji internetowej.
  • Jeśli masz niską tolerancję ryzyka aplikacji, przesuń suwak w lewo , aby zwiększyć próg ryzyka aplikacji.

    • Nie zalecamy ustawiania wartości 1,0, ponieważ to ustawienie może też uniemożliwić dostęp prawidłowym użytkownikom, którzy nie spełniają tego wysokiego progu zaufania.
  • Jeśli masz wysoką tolerancję ryzyka aplikacji, przesuń suwak w prawo , aby zmniejszyć próg ryzyka aplikacji.

    • Nie zalecamy ustawiania wartości 0,0, ponieważ to ustawienie wyłącza ochronę przed nadużyciami.

Więcej informacji znajdziesz w dokumentacji reCAPTCHA v3.

2. Dodaj bibliotekę App Check do swojej aplikacji

Jeśli jeszcze tego nie zrobisz, dodaj Firebase do swojej aplikacji internetowej. Pamiętaj, aby zaimportować bibliotekę App Check.

3. Zainicjuj App Check

Zanim uzyskasz dostęp do jakichkolwiek usług Firebase, dodaj do aplikacji ten kod inicjujący. Musisz przekazać do funkcji activate() klucz witryny reCAPTCHA, który został przez Ciebie utworzony w konsoli reCAPTCHA.

Web

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

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

// Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this
// key is the counterpart to the secret key you set in the Firebase console.
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaV3Provider('abcdefghijklmnopqrstuvwxy-1234567890abcd'),

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  isTokenAutoRefreshEnabled: true
});

Web

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

const appCheck = firebase.appCheck();
// Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this
// key is the counterpart to the secret key you set in the Firebase console.
appCheck.activate(
  'abcdefghijklmnopqrstuvwxy-1234567890abcd',

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  true);

Dalsze kroki

Gdy biblioteka App Check zostanie zainstalowana w aplikacji, wdróż ją.

Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny App Check wraz z każdym żądaniem wysyłanym do Firebase, ale usługi Firebase nie będą wymagać, aby tokeny były prawidłowe, dopóki nie włączysz egzekwowania zasad w sekcji App Check w konsoli Firebase.

Monitorowanie danych i włączanie egzekwowania zasad

Zanim włączysz egzekwowanie zasad, upewnij się, że nie zakłóci to pracy dotychczasowych prawidłowych użytkowników. Z drugiej strony, jeśli zauważysz podejrzane korzystanie z zasobów aplikacji, możesz włączyć egzekwowanie zasad wcześniej.

Aby ułatwić podjęcie decyzji, możesz sprawdzić dane App Check dotyczące używanych usług:

Włącz egzekwowanie zasad App Check

Gdy zrozumiesz, jak App Check wpłynie na użytkowników, i będziesz gotowy(-a) do kontynuowania, możesz włączyć egzekwowanie zasad App Check:

Używanie App Check w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji w App Check chcesz uruchomić swoją aplikację w środowisku, które App Check zwykle nie klasyfikuje jako prawidłowe, np. lokalnie podczas programowania lub w środowisku ciągłej integracji (CI), możesz utworzyć kompilację debugowania aplikacji, która zamiast prawdziwego dostawcy atestacji używa dostawcy debugowania App Check.

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