Z tego artykułu dowiesz się, jak włączyć interfejs App Check w aplikacji internetowej przy użyciu wbudowanych Dostawca reCAPTCHA w wersji 3. Gdy włączysz funkcję App Check, będziesz mieć pewność, że tylko aplikacja może uzyskać dostęp do zasobów Firebase projektu. Zobacz Omówienie tej funkcji.
Pamiętaj, że reCAPTCHA w wersji 3 jest niewidoczny dla użytkowników. Dostawca reCAPTCHA w wersji 3 nie będzie wymagać od użytkowników rozwiązania zadania w dowolnym momencie. Zobacz Dokumentacja reCAPTCHA v3.
Jeśli chcesz używać usługi App Check z własnym dostawcą niestandardowym, zobacz Zaimplementuj niestandardowego dostawcę App Check.
1. Skonfiguruj projekt Firebase
Dodaj Firebase do swojego projektu JavaScript, jeśli jeszcze nie zostało to zrobione. jeśli już to zrobili.
Zarejestruj swoją witrynę w reCAPTCHA w wersji 3 i otrzymaj klucza witryny reCAPTCHA w wersji 3 i klucza tajnego.
Zarejestruj aplikacje, aby używać App Check z dostawcą reCAPTCHA w Sekcja App Check w Konsola Firebase. Musisz podać tajny klucz, który został uzyskany w poprzednim kroku.
Zwykle konieczne jest zarejestrowanie wszystkich aplikacji związanych z projektem, ponieważ włączysz egzekwowanie zasad dla usługi Firebase, tylko zarejestrowane aplikacje będą mogły na dostęp do zasobów backendu usługi.
Opcjonalnie: w ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia danych (TTL) dla App Check tokenów wystawionych przez dostawcę. Możesz ustawić wartość TTL na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę wartość, pamiętaj o tych wadach:
- Bezpieczeństwo: krótsze wartości TTL zapewniają silniejsze zabezpieczenia, ponieważ zmniejszają okno, w którym ujawniony lub przechwycony token może zostać wykorzystany przez atakującego.
- Wydajność: krótsze wartości TTL oznaczają większą wydajność atestu aplikacji często. 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 .
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 nie zostało to zrobione. 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ć swój klucz witryny reCAPTCHA,
utworzona w konsoli reCAPTCHA, do activate()
.
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 i wysyła żądania 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łócać działanie istniejących prawidłowych użytkowników. Z drugiej strony, jeśli widzisz podejrzane wykorzystanie zasobów aplikacji, warto włączyć wymuszanie szybciej.
W podjęciu decyzji może pomóc kilka informacji (App Check): używanych usług:
- Monitoruj dane żądań (App Check) dotyczące Realtime Database, Cloud Firestore, Cloud Storage i Authentication (beta).
- Monitoruj dane dotyczące żądań (App Check) związanych z Cloud Functions.
Włącz egzekwowanie zasady App Check
Gdy zrozumiesz, jak App Check wpłynie na Twoich użytkowników, możesz zacząć kontynuuj, możesz włączyć egzekwowanie zasady App Check:
- Włącz egzekwowanie App Check w przypadku Realtime Database, Cloud Firestore, Cloud Storage i Authentication (beta).
- Włącz egzekwowanie App Check w domenie Cloud Functions.
Używaj narzędzia App Check w środowiskach debugowania
Jeśli po zarejestrowaniu aplikacji w usłudze App Check chcesz ją uruchomić w środowisku, którego App Check normalnie nie sklasyfikowałby jako prawidłowe, np. lokalnie w trakcie programowania lub w trybie ciągłej integracji (CI) możesz utworzyć kompilację do debugowania aplikacji wykorzystującą App Check dostawca debugowania zamiast prawdziwego dostawcy atestu.
Zobacz Używanie pola App Check z dostawcą debugowania w aplikacjach internetowych.