Na tej stronie znajdziesz instrukcje włączania funkcji App Check w aplikacji internetowej przy użyciu dostawcy reCAPTCHA Enterprise. Gdy włączysz 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 App Check korzysta z kluczy witryny opartych na wyniku reCAPTCHA Enterprise, uczynić go niewidocznymi dla użytkowników. Dostawca reCAPTCHA Enterprise nie będzie wymagał aby rozwiązać zadanie w każdej chwili.
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. Skonfiguruj projekt Firebase
Dodaj Firebase do swojego projektu JavaScript, jeśli jeszcze nie zostało to zrobione. jeśli już to zrobili.
Otwórz sekcję reCAPTCHA Enterprise w konsoli Cloud i wykonaj te czynności:
- Jeśli pojawi się prośba o włączenie interfejsu reCAPTCHA Enterprise API, zrób to.
- Utwórz klucz typu Witryna. Musisz określić domeny, w których hostujesz aplikację internetową. Pozostaw opcję „Użyj pole wyboru do weryfikacji” odznaczoną.
Zarejestruj aplikacje, aby używać App Check z reCAPTCHA Enterprise dostawcy w Sekcja App Check w Konsola Firebase. Musisz podać klucz witryny otrzymany w poprzedniego 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.
Opcjonalnie: w ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia danych (TTL) dla App Check tokenów wystawionych przez dostawcę. Wartość TTL możesz ustawić na dowolną wartość od 30 minut do 7 dni. Podczas zmiany tej wartości należy wziąć pod uwagę te kompromisy:
- 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 kwoty.
Domyślna wartość TTL 1 godzina 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ć kluczowi activate()
klucz witryny reCAPTCHA Enterprise utworzony w Cloud Console.
Web
import { initializeApp } from "firebase/app"; import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "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
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. );
Dalsze kroki
Po zainstalowaniu biblioteki App Check w aplikacji wdróż ją.
Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny App Check wraz z każdą prośbą wysyłaną do Firebase, ale usługi Firebase nie będą wymagać, aby tokeny były prawidłowe, dopóki nie włączysz wymuszania w sekcji App Check w 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:
- Monitoruj dane o żądaniach App Check w przypadku aplikacji Realtime Database, Cloud Firestore, Cloud Storage, Firebase Data Connect (wersja podglądowa), Authentication (beta) i Vertex AI in Firebase (wersja podglądowa).
- 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 użytkowników i będziesz gotowy do dalszych działań, możesz włączyć egzekwowanie App Check:
- Włącz egzekwowanie App Check w przypadku Realtime Database, Cloud Firestore, Cloud Storage, Firebase Data Connect (wersja testowa), Authentication (beta) i Vertex AI in Firebase (wersja testowa).
- 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 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.
Uwaga na temat kosztów
App Check tworzy w Twoim imieniu ocenę, aby zweryfikować token odpowiedzi za każdym razem, gdy przeglądarka uruchomiona w Twojej aplikacji internetowej odświeży Token App Check. Za każdą ocenę utworzoną po przekroczeniu bezpłatnego limitu opłat zostanie naliczona opłata. Zobacz cennik reCAPTCHA .
Domyślnie aplikacja internetowa będzie odświeżać ten token 2 razy co 1 godzinę. Aby kontrolować, jak często aplikacja odświeża tokeny App Check (a tym samym, jak często tworzy nowe oceny), skonfiguruj wartość TTL.