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

Na tej stronie znajdziesz instrukcje włączania App Check w aplikacji internetowej przy użyciu wbudowanego dostawcy reCAPTCHA v3. Gdy włączysz opcję App Check, zapewnisz, że tylko Twoja aplikacja będzie mieć dostęp do zasobów Firebase w Twoim projekcie. Zobacz Omówienie tej funkcji.

Pamiętaj, że reCAPTCHA v3 jest niewidoczna dla użytkowników. Usługodawca reCAPTCHA 3 nie będzie wymagać od użytkowników rozwiązywania zadań w żadnym momencie. Zobacz Dokumentacja reCAPTCHA v3.

Jeśli chcesz używać usługi App Check z własnym niestandardowym dostawcą, zapoznaj się z artykułem Wdrażanie niestandardowego dostawcy usługi App Check.

1. Konfigurowanie projektu Firebase

  1. Dodaj Firebase do projektu JavaScriptu, jeśli jeszcze tego nie zrobiono.

  2. Zarejestruj witrynę w usłudze reCAPTCHA v3 i uzyskaj klucz witryny oraz klucz tajny reCAPTCHA v3.

  3. Zarejestruj aplikacje, aby używać App Check u dostawcy reCAPTCHA w sekcji App Check w konsoli Firebase. Musisz podać tajny klucz, który został uzyskany w poprzednim kroku.

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

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

    • Bezpieczeństwo: krótsze czasy TTL zapewniają większą ochronę, ponieważ zmniejszają czas, w którym atakujący może wykorzystać wyciek lub przechwycenie tokena.
    • Wydajność: krótsze czasy TTL oznaczają, że aplikacja będzie częściej przeprowadzać weryfikację. 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 kwoty.

    Domyślna wartość TTL 1 dzień, 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 tego nie zrobiono. 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ć do activate() klucz witryny reCAPTCHA 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

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

Zaktualizowana aplikacja kliencka zacznie wysyłać App Check tokeny wraz z każdym wysyła żądanie jej 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łóci to działania dotychczasowych legalnych użytkowników. Jeśli jednak zauważysz podejrzane korzystanie z zasobów aplikacji, możesz wcześniej włączyć egzekwowanie.

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 użytkowników i będziesz gotowy do dalszych działań, możesz włączyć egzekwowanie App Check:

Używanie App Check w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji w usłudze App Check chcesz uruchomić ją w środowisku, które App Check normalnie nie uzna za ważne, np. lokalnie podczas tworzenia lub w środowisku ciągłej integracji (CI), możesz utworzyć wersję debugową aplikacji, która używa dostawcy debugowania App Check zamiast prawdziwego dostawcy uwierzytelniania.

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