Начните использовать проверку приложений с помощью специального поставщика в веб-приложениях.

На этой странице показано, как включить App Check в веб-приложении, используя вашего поставщика App Check . Когда вы включаете App Check , вы помогаете гарантировать, что только ваше приложение может получить доступ к ресурсам Firebase вашего проекта.

Если вы хотите использовать App Check с одним из встроенных поставщиков, см. документацию по App Check с reCAPTCHA Enterprise .

Прежде чем начать

1. Добавьте библиотеку App Check в свое приложение.

Добавьте Firebase в свое веб-приложение, если вы этого еще не сделали. Обязательно импортируйте библиотеку App Check .

2. Создайте объект поставщика App Check

Создайте объект поставщика App Check для вашего пользовательского поставщика. Этот объект должен иметь метод getToken() , который собирает любую информацию, которую ваш пользовательский поставщик App Check требует в качестве доказательства подлинности, и отправляет ее в вашу службу получения токенов в обмен на токен App Check . App Check SDK обрабатывает кэширование токенов, поэтому всегда получайте новый токен в вашей реализации 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

Когда вы поймете, как App Check повлияет на ваших пользователей, и будете готовы продолжить, вы можете включить принудительное выполнение App Check :

Используйте App Check в отладочных средах

Если после регистрации приложения для App Check вы хотите запустить его в среде, которую App Check обычно не классифицирует как допустимую, например, локально во время разработки или из среды непрерывной интеграции (CI), вы можете создать отладочную сборку своего приложения, которая использует поставщик отладки App Check вместо настоящего поставщика подтверждения подлинности.

См. раздел Использование App Check с поставщиком отладки в веб-приложениях .