Z tego artykułu dowiesz się, jak włączyć App Check w aplikacji internetowej przy użyciu niestandardowego dostawcy App Check. Włączając App Check, możesz mieć pewność, że tylko Twoja aplikacja będzie mieć dostęp do zasobów Firebase w Twoim projekcie.
Jeśli chcesz używać usługi App Check z jednym z wbudowanych dostawców, zapoznaj się z dokumentacją dotyczącą App Check z reCAPTCHA Enterprise.
Zanim zaczniesz
Dodaj Firebase do projektu JavaScriptu, jeśli jeszcze tego nie zrobiono.
Wdróż logikę po stronie serwera niestandardowego dostawcy App Check.
1. 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.
2. Utwórz obiekt 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 uzyskujesz 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
Zanim zaczniesz korzystać z usług Firebase, dodaj do aplikacji ten kod inicjalizacji:
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 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 natomiast zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz szybciej 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łącz egzekwowanie zasady 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 zasad App Check dla: 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.