Na tej stronie znajdziesz instrukcje włączania App Check w aplikacji internetowej przy użyciu wbudowanego dostawcy reCAPTCHA v3. Gdy włączysz App Check, zapewnisz, że tylko Twoja aplikacja będzie mieć dostęp do zasobów Firebase w Twoim projekcie. Zapoznaj się z omówieniem tej funkcji.
Pamiętaj, że reCAPTCHA v3 jest niewidoczna dla użytkowników. Dostawca reCAPTCHA w wersji 3 nie wymaga od użytkowników rozwiązania zadania w dowolnym momencie. Zapoznaj się z dokumentacją reCAPTCHA v3.
Jeśli chcesz używać App Check z własnym dostawcą niestandardowym, przeczytaj sekcję Implementowanie niestandardowego dostawcy App Check.
1. Skonfiguruj projekt Firebase
Dodaj Firebase do swojego projektu JavaScript, jeśli jeszcze go nie masz.
Zarejestruj witrynę w usłudze reCAPTCHA v3 i uzyskaj klucz witryny i klucz tajny reCAPTCHA v3.
Zarejestruj aplikacje, aby używać App Check z dostawcą reCAPTCHA w sekcji App Check konsoli Firebase. Musisz podać obiekt tajny uzyskany w poprzednim kroku.
Zwykle trzeba zarejestrować wszystkie aplikacje w projekcie, 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 (TTL) tokenów App Check 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 czasy TTL zapewniają większą ochronę, ponieważ zmniejszają czas, w którym atakujący może wykorzystać wyciek lub przechwycenie tokena.
- Wydajność: krótsze wartości TTL oznaczają, że aplikacja będzie wykonywać atest częściej. Ponieważ proces uwierzytelniania aplikacji zwiększa opóźnienie żądań sieciowych przy każdym jego wykonaniu, krótki czas trwania TTL może mieć wpływ na działanie aplikacji.
- Limit i koszt: krótsze wartości TTL i częsta ponowna atestacja szybciej wyczerpują limit, a w przypadku usług płatnych mogą kosztować więcej. Zobacz Limity i kwoty.
Domyślna wartość TTL, która wynosi 1 dzień, jest odpowiednia w przypadku większości aplikacji. Pamiętaj, że biblioteka App Check odświeża tokeny co około połowę czasu trwania wartości TTL.
2. Dodawanie biblioteki App Check do aplikacji
Dodaj Firebase do swojej aplikacji internetowej, jeśli jeszcze tego nie zrobiono. Pamiętaj, aby zaimportować bibliotekę App Check.
3. Inicjowanie App Check
Zanim uzyskasz dostęp do usług Firebase, dodaj do swojej aplikacji poniższy kod inicjowania. 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ć 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 danych i włączanie egzekwowania
Zanim jednak włączysz egzekwowanie zasad, upewnij się, że nie zakłóci to działania dotychczasowych prawidłowych użytkowników. Jeśli jednak zauważysz podejrzane korzystanie z zasobów aplikacji, możesz wcześniej włączyć egzekwowanie.
Aby ułatwić sobie podjęcie decyzji, możesz sprawdzić dane App Check dotyczące usług, których używasz:
- Monitoruj dane żądań App Check w przypadku Realtime Database, Cloud Firestore, Cloud Storage, Authentication (beta) i Vertex AI in Firebase.
- Monitoruj dane App Check dotyczące żądań w przypadku Cloud Functions.
Włączanie wymuszania zasad App Check
Gdy zrozumiesz, jak App Check wpłynie na Twoich użytkowników, i będziesz gotowy do dalszych działań, możesz włączyć egzekwowanie App Check:
- Włącz egzekwowanie App Check na urządzeniach Realtime Database, Cloud Firestore, Cloud Storage, Authentication (beta) i Vertex AI in Firebase.
- Włącz wymuszanie App Check w Cloud Functions.
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.
Zapoznaj się z artykułem Korzystanie z App Check w ramach usługi debugowania w aplikacjach internetowych.