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

На этой странице показано, как включить 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 . 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

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

Используйте App Check в средах отладки

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

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