Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Zacznij korzystać z App Check z reCAPTCHA Enterprise w aplikacjach internetowych

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Na tej stronie pokazano, jak włączyć sprawdzanie aplikacji w aplikacji internetowej przy użyciu dostawcy reCAPTCHA Enterprise. Po włączeniu Kontroli aplikacji zapewniasz, że tylko Twoja aplikacja ma dostęp do zasobów Firebase projektu. Zobacz przegląd tej funkcji.

reCAPTCHA Enterprise to płatna usługa z limitem bezkosztowym. App Check obsługuje również reCAPTCHA v3 , usługę, która jest bezpłatna. Aby poznać różnice między reCAPTCHA v3 i reCAPTCHA Enterprise, zobacz porównanie funkcji .

Pamiętaj, że Kontrola aplikacji korzysta z kluczy witryn opartych na wyniku reCAPTCHA Enterprise, dzięki czemu jest niewidoczna dla użytkowników. Dostawca reCAPTCHA Enterprise nie wymaga od użytkowników rozwiązywania problemów w dowolnym momencie.

Jeśli chcesz korzystać z funkcji App Check z własnym niestandardowym dostawcą, zobacz Implementowanie niestandardowego dostawcy App Check .

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 pojawi się prośba o włączenie interfejsu reCAPTCHA Enterprise API, 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 z polem wyboru” niezaznaczoną .
  3. Zarejestruj swoje aplikacje, aby korzystać z funkcji Sprawdzanie aplikacji u dostawcy reCAPTCHA Enterprise w sekcji Sprawdzanie aplikacji w konsoli Firebase. Musisz podać klucz witryny, który otrzymałeś w poprzednim kroku.

    Zwykle musisz zarejestrować wszystkie aplikacje swojego projektu, ponieważ po włączeniu wymuszania dla produktu Firebase tylko zarejestrowane aplikacje będą miały 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 wydanych przez dostawcę. Możesz ustawić TTL na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę ​​wartość, pamiętaj o następujących kompromisach:

    • Bezpieczeństwo: Krótsze TTL zapewniają większe bezpieczeństwo, ponieważ zmniejszają okno, w którym przeciek lub przechwycony token może zostać nadużyty przez atakującego.
    • Wydajność: krótsze czasy TTL oznaczają, że Twoja aplikacja będzie częściej przeprowadzać atestację. Ponieważ proces zaświadczania aplikacji zwiększa opóźnienie żą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 oczekiwania i częste ponowna atestacja szybciej zmniejszają Twój limit, a w przypadku usług płatnych potencjalnie kosztują więcej. Zobacz Kontyngenty i limity .

    Domyślny czas TTL wynoszący 1 godzinę jest rozsądny dla większości aplikacji. Zwróć uwagę, że biblioteka App Check odświeża tokeny po około połowie czasu 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ę Sprawdzanie aplikacji.

3. Zainicjuj sprawdzanie aplikacji

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

Web version 9

const { initializeApp } = require("firebase/app");
const { initializeAppCheck, ReCaptchaEnterpriseProvider } = require("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 version 8

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 Twojej 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ć ważności tokenów, dopóki nie włączysz wymuszania w sekcji Sprawdzanie aplikacji w konsoli Firebase.

Monitoruj metryki i włącz egzekwowanie

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

Aby pomóc w podjęciu tej decyzji, możesz przyjrzeć się wskaźnikom Kontroli aplikacji dla usług, z których korzystasz:

Włącz wymuszanie sprawdzania aplikacji

Gdy zrozumiesz, w jaki sposób Kontrola aplikacji wpłynie na użytkowników i będziesz gotowy do kontynuowania, możesz włączyć wymuszanie kontroli aplikacji:

Użyj sprawdzania aplikacji w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji do sprawdzania aplikacji chcesz uruchomić aplikację w środowisku, którego Sprawdzanie aplikacji normalnie nie klasyfikuje jako prawidłowe, na przykład lokalnie podczas opracowywania lub ze środowiska ciągłej integracji (CI), możesz utworzyć kompilacja debugowania Twojej aplikacji, która używa dostawcy debugowania sprawdzania aplikacji zamiast rzeczywistego dostawcy poświadczania.

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

Uwaga dotycząca kosztów

Kontrola aplikacji tworzy ocenę w Twoim imieniu, aby zweryfikować token odpowiedzi użytkownika za każdym razem, gdy przeglądarka z uruchomioną aplikacją internetową odświeży swój token Sprawdzania aplikacji. Twój projekt zostanie obciążony za każdą ocenę utworzoną powyżej limitu bezpłatnego. Szczegóły znajdziesz w cenniku reCAPTCHA Enterprise .

Domyślnie Twoja aplikacja internetowa będzie odświeżać ten token dwa razy co godzinę . Aby kontrolować, jak często aplikacja odświeża tokeny App Check (a tym samym jak często tworzone są nowe oceny), skonfiguruj ich czas TTL .