На этой странице показано, как включить App Check в веб-приложении, используя собственный поставщик App Check . Включив App Check , вы гарантируете, что доступ к ресурсам Firebase вашего проекта будет иметь только ваше приложение.
Если вы хотите использовать App Check с одним из встроенных поставщиков, см. документацию по App Check с reCAPTCHA Enterprise .
Прежде чем начать
Добавьте Firebase в свой JavaScript-проект, если вы еще этого не сделали.
Реализуйте серверную логику вашего собственного поставщика App Check .
1. Добавьте библиотеку App Check в свое приложение.
Если вы еще этого не сделали, добавьте Firebase в свое веб-приложение . Обязательно импортируйте библиотеку App Check .
2. Создайте объект поставщика App Check
Создайте объект поставщика App Check для вашего пользовательского поставщика. Этот объект должен иметь метод getToken() , который собирает всю необходимую вашему пользовательскому поставщику App Check информацию для подтверждения подлинности и отправляет ее в вашу службу получения токенов в обмен на токен App Check . SDK App Check обрабатывает кэширование токенов, поэтому всегда получайте новый токен в вашей реализации метода getToken() .
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. Инициализация App Check
Перед обращением к каким-либо сервисам 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);
Следующие шаги
После установки библиотеки App Check в ваше приложение, разверните его.
Обновленное клиентское приложение начнет отправлять токены App Check вместе с каждым запросом в Firebase, но для продуктов Firebase не потребуется, чтобы токены были действительными, пока вы не включите проверку в разделе App Check консоли Firebase.
Отслеживайте показатели и обеспечьте соблюдение требований.
Однако, прежде чем включать функцию принудительного применения, следует убедиться, что это не нарушит работу существующих законных пользователей. С другой стороны, если вы наблюдаете подозрительное использование ресурсов вашего приложения, возможно, стоит включить функцию принудительного применения раньше.
Чтобы помочь вам принять это решение, вы можете ознакомиться с показателями App Check для используемых вами сервисов:
- Отслеживайте метрики запросов App Check для Firebase AI Logic , Data Connect , Realtime Database , Cloud Firestore , Cloud Storage , Authentication , Google Identity for iOS, Maps JavaScript API и Places API (новая функция).
- Отслеживайте метрики запросов App Check для Cloud Functions .
Включить принудительное выполнение App Check
Когда вы поймете, как App Check повлияет на ваших пользователей, и будете готовы продолжить, вы можете включить принудительное применение App Check :
- Включите App Check ) для Firebase AI Logic , Data Connect , Realtime Database , Cloud Firestore , Cloud Storage , Authentication , Google Identity for iOS, Maps JavaScript API и Places API (новая функция).
- Включите принудительное применение App Check для Cloud Functions .
Используйте App Check в средах отладки.
Если после регистрации вашего приложения в App Check вы хотите запустить его в среде, которую App Check обычно не классифицирует как допустимую, например, локально во время разработки или в среде непрерывной интеграции (CI), вы можете создать отладочную сборку вашего приложения, которая использует отладочный поставщик App Check вместо реального поставщика аттестации.
См. раздел «Использование App Check с помощью поставщика отладки в веб-приложениях» .