Na tej stronie dowiesz się, jak włączyć App Check w aplikacji internetowej przy użyciu niestandardowego App Check. Włączając App Check, zapewniasz, że tylko Twoja aplikacja będzie mieć dostęp do zasobów Firebase w Twoim projekcie.
Jeśli chcesz używać App Check z jednym z wbudowanych dostawców, zapoznaj się z dokumentacją dotyczącą korzystania z App Check z usługą reCAPTCHA Enterprise.
Zanim zaczniesz
Dodaj Firebase do swojego projektu JavaScript, jeśli jeszcze nie zostało to zrobione. jeśli już to zrobili.
Wdróż niestandardową logikę dostawcy App Check po stronie serwera.
1. Dodaj bibliotekę App Check do aplikacji
Dodaj Firebase do swojej aplikacji internetowej, jeśli jeszcze tego nie zrobiono. Pamiętaj, aby zaimportować bibliotekę App Check.
2. Tworzenie obiektu dostawcy App Check
Utwórz obiekt dostawcy App Check dla dostawcy niestandardowego. Ten obiekt musi zawierać metodę getToken()
, która gromadzi wszelkie informacje wymagane przez niestandardowego dostawcę App Check jako dowód autentyczności, a następnie wysyła je do usługi pozyskiwania tokenów w zamian za token App Check. Pakiet SDK App Check obsługuje buforowanie tokenów, więc w implementacji getToken()
zawsze otrzymujesz nowy token.
Web
import { CustomProvider } from "firebase/app-check"; const appCheckCustomProvider = new CustomProvider({ getToken: () => { return new Promise((resolve, _reject) => { // TODO: Logic to exchange proof of authenticity for an App Check token and // expiration time. // ... const appCheckToken = { token: tokenFromServer, expireTimeMillis: expirationFromServer * 1000 }; resolve(appCheckToken); }); } });
Web
const appCheckCustomProvider = { getToken: () => { return new Promise((resolve, _reject) => { // TODO: Logic to exchange proof of authenticity for an App Check token and // expiration time. // ... const appCheckToken = { token: tokenFromServer, expireTimeMillis: expirationFromServer * 1000 }; resolve(appCheckToken); }); } };
3. Inicjowanie App Check
Przed uzyskaniem dostępu do dowolnej aplikacji dodaj do niej następujący kod inicjowania Usługi Firebase:
Web
import { initializeApp } from "firebase/app"; import { initializeAppCheck } from "firebase/app-check"; const app = initializeApp({ // Your firebase configuration object }); const appCheck = initializeAppCheck(app, { provider: appCheckCustomProvider, // 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(); appCheck.activate( appCheckCustomProvider, // 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 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 wykorzystanie 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 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 wymuszanie 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 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 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.
Zapoznaj się z artykułem Używanie App Check z usługą debugowania w aplikacjach internetowych.