Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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.

Ta strona pokazuje, jak włączyć Sprawdzanie aplikacji w aplikacji internetowej przy użyciu dostawcy reCAPTCHA Enterprise. Włączając Sprawdzanie aplikacji, pomagasz upewnić się, że tylko Twoja aplikacja ma dostęp do zasobów Firebase Twojego projektu. Zobacz Omówienie tej funkcji.

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

Pamiętaj, że Sprawdzanie aplikacji korzysta z kluczy witryn opartych na wynikach reCAPTCHA Enterprise, dzięki czemu jest niewidoczne dla użytkowników. Dostawca reCAPTCHA Enterprise nie będzie wymagał od użytkowników rozwiązania wyzwania w dowolnym momencie.

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

1. Skonfiguruj swój projekt Firebase

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

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

    1. Jeśli pojawi się monit o włączenie interfejsu API reCAPTCHA Enterprise, zrób to.
    2. Utwórz klucz typu witryna internetowa . Musisz określić domeny, w których hostujesz swoją aplikację internetową. Pozostaw niezaznaczoną opcję „Użyj wyzwania z polem wyboru” .
  3. Zarejestruj swoje aplikacje do sprawdzania aplikacji u dostawcy reCAPTCHA Enterprise w sekcji Sprawdzanie aplikacji w konsoli Firebase. Będziesz musiał podać klucz witryny, który otrzymałeś w poprzednim kroku.

    Zwykle musisz zarejestrować wszystkie aplikacje swojego projektu, ponieważ po włączeniu wymuszania w produkcie 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 wydanych przez dostawcę. TTL można ustawić 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 TTL zapewniają większe bezpieczeństwo, ponieważ skracają okno, w którym wyciekający lub przechwycony token może zostać wykorzystany przez atakującego.
    • Wydajność: krótsze TTL oznaczają, że Twoja aplikacja będzie częściej przeprowadzać atestację. Ponieważ proces zaświadczania aplikacji dodaje opóźnienia do żądań sieciowych za każdym razem, gdy jest wykonywany, krótki TTL może mieć wpływ na wydajność Twojej aplikacji.
    • Limit i koszt: krótsze TTL i częsta ponowna atestacja powodują szybsze wyczerpanie limitu, a w przypadku usług płatnych potencjalnie kosztują więcej. Zobacz Przydziały i limity .

    Domyślny czas 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 po mniej więcej 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ę sprawdzania 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 sprawdzania aplikacji w aplikacji wdróż ją.

Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny sprawdzania aplikacji wraz z każdym żądaniem skierowanym 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 Twoich obecnych legalnych użytkowników. Z drugiej strony, jeśli zauważysz podejrzane użycie zasobów aplikacji, warto wcześniej włączyć wymuszanie.

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

Włącz wymuszanie sprawdzania aplikacji

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

Użyj sprawdzania aplikacji w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji do kontroli aplikacji chcesz uruchomić aplikację w środowisku, którego kontrola aplikacji normalnie nie sklasyfikowałaby jako ważne, 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 prawdziwego dostawcy zaświadczeń.

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

Uwaga dotycząca kosztów

Sprawdzanie aplikacji tworzy ocenę w Twoim imieniu w celu zweryfikowania tokena odpowiedzi użytkownika za każdym razem, gdy przeglądarka, w której działa Twoja aplikacja internetowa, odświeża swój token sprawdzania aplikacji. Twój projekt zostanie obciążony za każdą ocenę utworzoną powyżej limitu bezkosztowego. Aby uzyskać szczegółowe informacje, zapoznaj się z cennikiem reCAPTCHA Enterprise .

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