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

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

Обратите внимание, что App Check использует ключи сайта на основе оценок reCAPTCHA Enterprise, что делает его невидимым для пользователей. Поставщик reCAPTCHA Enterprise не будет требовать от пользователей решения задачи в любое время.

Если вы хотите использовать App Check с собственным поставщиком, см. раздел Внедрение собственного поставщика App Check .

1. Настройте свой проект Firebase

  1. Добавьте Firebase в свой проект JavaScript, если вы этого еще не сделали.

  2. Откройте раздел reCAPTCHA Enterprise в консоли Cloud и выполните следующие действия:

    1. Если вам будет предложено включить API reCAPTCHA Enterprise, сделайте это.
    2. Создайте ключ типа Веб-сайт . Вам нужно будет указать домены, на которых вы размещаете свое веб-приложение. Оставьте опцию «Использовать проверку флажком» невыбранной .
  3. Зарегистрируйте свои приложения для использования App Check с поставщиком reCAPTCHA Enterprise в разделе App Check консоли Firebase . Вам нужно будет предоставить ключ сайта, который вы получили на предыдущем шаге.

    Обычно вам необходимо зарегистрировать все приложения вашего проекта, поскольку после включения принудительного применения для продукта Firebase только зарегистрированные приложения смогут получить доступ к внутренним ресурсам продукта.

  4. Необязательно : в настройках регистрации приложения установите пользовательское время жизни (TTL) для токенов App Check выпущенных поставщиком. Вы можете установить TTL на любое значение от 30 минут до 7 дней. При изменении этого значения помните о следующих компромиссах:

    • Безопасность: Более короткие значения TTL обеспечивают более высокую безопасность, поскольку сокращают период времени, в течение которого злоумышленник может злоупотребить утечкой или перехватом токена.
    • Производительность: Более короткие TTL означают, что ваше приложение будет выполнять аттестацию чаще. Поскольку процесс аттестации приложения добавляет задержку к сетевым запросам каждый раз, когда он выполняется, короткий TTL может повлиять на производительность вашего приложения.
    • Квота и стоимость: Более короткие TTL и частая повторная аттестация быстрее исчерпывают вашу квоту, а для платных услуг, возможно, стоят дороже. См. Квоты и ограничения .

    Значение TTL по умолчанию в 1 час является разумным для большинства приложений. Обратите внимание, что библиотека App Check обновляет токены примерно через половину продолжительности TTL.

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

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

3. Инициализация App Check

Добавьте следующий код инициализации в свое приложение, прежде чем вы получите доступ к любым службам Firebase. Вам нужно будет передать свой ключ сайта reCAPTCHA Enterprise, который вы создали в консоли Cloud, для activate() .

Web

import { initializeApp } from "firebase/app";
import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "firebase/app-check";

const app = initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to initializeAppCheck().
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaEnterpriseProvider(/* reCAPTCHA Enterprise site key */),
  isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh.
});

Web

firebase.initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to activate().
const appCheck = firebase.appCheck();
appCheck.activate(
  new firebase.appCheck.ReCaptchaEnterpriseProvider(
    /* reCAPTCHA Enterprise site key */
  ),
  true // Set to true to allow auto-refresh.
);

Следующие шаги

После установки библиотеки 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 с поставщиком отладки в веб-приложениях .

Примечание по стоимости

App Check создает оценку от вашего имени для проверки токена ответа пользователя каждый раз, когда браузер, на котором запущено ваше веб-приложение, обновляет свой токен App Check . С вашего проекта будет взиматься плата за каждую оценку, созданную сверх бесплатной квоты. Подробности см. в ценах reCAPTCHA .

По умолчанию ваше веб-приложение будет обновлять этот токен дважды каждые 1 час . Чтобы контролировать частоту обновления токенов App Check (и, следовательно, частоту создания новых оценок), настройте их TTL .

,

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

Обратите внимание, что App Check использует ключи сайта на основе оценок reCAPTCHA Enterprise, что делает его невидимым для пользователей. Поставщик reCAPTCHA Enterprise не будет требовать от пользователей решения задачи в любое время.

Если вы хотите использовать App Check с собственным поставщиком, см. раздел Внедрение собственного поставщика App Check .

1. Настройте свой проект Firebase

  1. Добавьте Firebase в свой проект JavaScript, если вы этого еще не сделали.

  2. Откройте раздел reCAPTCHA Enterprise в консоли Cloud и выполните следующие действия:

    1. Если вам будет предложено включить API reCAPTCHA Enterprise, сделайте это.
    2. Создайте ключ типа Веб-сайт . Вам нужно будет указать домены, на которых вы размещаете свое веб-приложение. Оставьте опцию «Использовать проверку флажком» невыбранной .
  3. Зарегистрируйте свои приложения для использования App Check с поставщиком reCAPTCHA Enterprise в разделе App Check консоли Firebase . Вам нужно будет предоставить ключ сайта, который вы получили на предыдущем шаге.

    Обычно вам необходимо зарегистрировать все приложения вашего проекта, поскольку после включения принудительного применения для продукта Firebase только зарегистрированные приложения смогут получить доступ к внутренним ресурсам продукта.

  4. Необязательно : в настройках регистрации приложения установите пользовательское время жизни (TTL) для токенов App Check выпущенных поставщиком. Вы можете установить TTL на любое значение от 30 минут до 7 дней. При изменении этого значения помните о следующих компромиссах:

    • Безопасность: Более короткие значения TTL обеспечивают более высокую безопасность, поскольку сокращают период времени, в течение которого злоумышленник может злоупотребить утечкой или перехватом токена.
    • Производительность: Более короткие TTL означают, что ваше приложение будет выполнять аттестацию чаще. Поскольку процесс аттестации приложения добавляет задержку к сетевым запросам каждый раз, когда он выполняется, короткий TTL может повлиять на производительность вашего приложения.
    • Квота и стоимость: Более короткие TTL и частая повторная аттестация быстрее исчерпывают вашу квоту, а для платных услуг, возможно, стоят дороже. См. Квоты и ограничения .

    Значение TTL по умолчанию в 1 час является разумным для большинства приложений. Обратите внимание, что библиотека App Check обновляет токены примерно через половину продолжительности TTL.

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

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

3. Инициализация App Check

Добавьте следующий код инициализации в свое приложение, прежде чем вы получите доступ к любым службам Firebase. Вам нужно будет передать свой ключ сайта reCAPTCHA Enterprise, который вы создали в консоли Cloud, для activate() .

Web

import { initializeApp } from "firebase/app";
import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "firebase/app-check";

const app = initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to initializeAppCheck().
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaEnterpriseProvider(/* reCAPTCHA Enterprise site key */),
  isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh.
});

Web

firebase.initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to activate().
const appCheck = firebase.appCheck();
appCheck.activate(
  new firebase.appCheck.ReCaptchaEnterpriseProvider(
    /* reCAPTCHA Enterprise site key */
  ),
  true // Set to true to allow auto-refresh.
);

Следующие шаги

После установки библиотеки 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 с поставщиком отладки в веб-приложениях .

Примечание по стоимости

App Check создает оценку от вашего имени для проверки токена ответа пользователя каждый раз, когда браузер, на котором запущено ваше веб-приложение, обновляет свой токен App Check . С вашего проекта будет взиматься плата за каждую оценку, созданную сверх бесплатной квоты. Подробности см. в ценах reCAPTCHA .

По умолчанию ваше веб-приложение будет обновлять этот токен дважды каждые 1 час . Чтобы контролировать частоту обновления токенов App Check (и, следовательно, частоту создания новых оценок), настройте их TTL .