На этой странице показано, как включить App Check в веб-приложении с помощью встроенного поставщика reCAPTCHA v3. При включении App Check вы помогаете гарантировать, что только ваше приложение может получить доступ к ресурсам Firebase вашего проекта. См. Обзор этой функции.
Для новых интеграций следует использовать reCAPTCHA Enterprise, и мы настоятельно рекомендуем разработчикам приложений, использующих reCAPTCHA v3, по возможности обновиться.
Чтобы узнать различия между reCAPTCHA v3 и reCAPTCHA Enterprise, ознакомьтесь со сравнением функций .
Обратите внимание, что reCAPTCHA v3 невидима для пользователей. Поставщик reCAPTCHA v3 не будет требовать от пользователей решения задачи в любое время. См. документацию reCAPTCHA v3 .
Если вы хотите использовать App Check с собственным поставщиком, см. раздел Внедрение собственного поставщика App Check .
1. Настройте свой проект Firebase
Добавьте Firebase в свой проект JavaScript, если вы этого еще не сделали.
Зарегистрируйте свой сайт в reCAPTCHA v3 и получите ключ сайта reCAPTCHA v3 и секретный ключ.
Зарегистрируйте свои приложения для использования App Check с поставщиком reCAPTCHA в разделе App Check консоли Firebase . Вам нужно будет предоставить секретный ключ, который вы получили на предыдущем шаге.
Обычно вам необходимо зарегистрировать все приложения вашего проекта, поскольку после включения принудительного применения для продукта Firebase только зарегистрированные приложения смогут получить доступ к внутренним ресурсам продукта.
Необязательно : в настройках регистрации приложения установите пользовательское время жизни (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, который вы создали в консоли reCAPTCHA, для activate()
.
Web
import { initializeApp } from "firebase/app"; import { initializeAppCheck, ReCaptchaV3Provider } from "firebase/app-check"; const app = initializeApp({ // Your firebase configuration object }); // Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this // key is the counterpart to the secret key you set in the Firebase console. const appCheck = initializeAppCheck(app, { provider: new ReCaptchaV3Provider('abcdefghijklmnopqrstuvwxy-1234567890abcd'), // 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(); // Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this // key is the counterpart to the secret key you set in the Firebase console. appCheck.activate( 'abcdefghijklmnopqrstuvwxy-1234567890abcd', // 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 для Data Connect , Firebase AI Logic , Realtime Database , Cloud Firestore , Cloud Storage , Authentication , Google Identity для iOS, Maps JavaScript API и Places API (новое).
- Отслеживайте метрики запросов App Check для Cloud Functions .
Включить принудительное выполнение App Check
Когда вы поймете, как App Check повлияет на ваших пользователей, и будете готовы продолжить, вы можете включить принудительное выполнение App Check :
- Включите принудительное выполнение App Check для Data Connect , Firebase AI Logic , Realtime Database , Cloud Firestore , Cloud Storage , Authentication , Google Identity для iOS, Maps JavaScript API и Places API (новое).
- Включите принудительное выполнение App Check для Cloud Functions .
Используйте App Check в отладочных средах
Если после регистрации приложения для App Check вы хотите запустить его в среде, которую App Check обычно не классифицирует как допустимую, например, локально во время разработки или из среды непрерывной интеграции (CI), вы можете создать отладочную сборку своего приложения, которая использует поставщик отладки App Check вместо настоящего поставщика подтверждения подлинности.
См. раздел Использование App Check с поставщиком отладки в веб-приложениях .
,На этой странице показано, как включить App Check в веб-приложении с помощью встроенного поставщика reCAPTCHA v3. При включении App Check вы помогаете гарантировать, что только ваше приложение может получить доступ к ресурсам Firebase вашего проекта. См. Обзор этой функции.
Для новых интеграций следует использовать reCAPTCHA Enterprise, и мы настоятельно рекомендуем разработчикам приложений, использующих reCAPTCHA v3, по возможности обновиться.
Чтобы узнать различия между reCAPTCHA v3 и reCAPTCHA Enterprise, ознакомьтесь со сравнением функций .
Обратите внимание, что reCAPTCHA v3 невидима для пользователей. Поставщик reCAPTCHA v3 не будет требовать от пользователей решения задачи в любое время. См. документацию reCAPTCHA v3 .
Если вы хотите использовать App Check с собственным поставщиком, см. раздел Внедрение собственного поставщика App Check .
1. Настройте свой проект Firebase
Добавьте Firebase в свой проект JavaScript, если вы этого еще не сделали.
Зарегистрируйте свой сайт в reCAPTCHA v3 и получите ключ сайта reCAPTCHA v3 и секретный ключ.
Зарегистрируйте свои приложения для использования App Check с поставщиком reCAPTCHA в разделе App Check консоли Firebase . Вам нужно будет предоставить секретный ключ, который вы получили на предыдущем шаге.
Обычно вам необходимо зарегистрировать все приложения вашего проекта, поскольку после включения принудительного применения для продукта Firebase только зарегистрированные приложения смогут получить доступ к внутренним ресурсам продукта.
Необязательно : в настройках регистрации приложения установите пользовательское время жизни (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, который вы создали в консоли reCAPTCHA, для activate()
.
Web
import { initializeApp } from "firebase/app"; import { initializeAppCheck, ReCaptchaV3Provider } from "firebase/app-check"; const app = initializeApp({ // Your firebase configuration object }); // Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this // key is the counterpart to the secret key you set in the Firebase console. const appCheck = initializeAppCheck(app, { provider: new ReCaptchaV3Provider('abcdefghijklmnopqrstuvwxy-1234567890abcd'), // 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(); // Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this // key is the counterpart to the secret key you set in the Firebase console. appCheck.activate( 'abcdefghijklmnopqrstuvwxy-1234567890abcd', // 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 для Data Connect , Firebase AI Logic , Realtime Database , Cloud Firestore , Cloud Storage , Authentication , Google Identity для iOS, Maps JavaScript API и Places API (новое).
- Отслеживайте метрики запросов App Check для Cloud Functions .
Включить принудительное выполнение App Check
Когда вы поймете, как App Check повлияет на ваших пользователей, и будете готовы продолжить, вы можете включить принудительное выполнение App Check :
- Включите принудительное выполнение App Check для Data Connect , Firebase AI Logic , Realtime Database , Cloud Firestore , Cloud Storage , Authentication , Google Identity для iOS, Maps JavaScript API и Places API (новое).
- Включите принудительное выполнение App Check для Cloud Functions .
Используйте App Check в отладочных средах
Если после регистрации приложения для App Check вы хотите запустить его в среде, которую App Check обычно не классифицирует как допустимую, например, локально во время разработки или из среды непрерывной интеграции (CI), вы можете создать отладочную сборку своего приложения, которая использует поставщик отладки App Check вместо настоящего поставщика подтверждения подлинности.
См. раздел Использование App Check с поставщиком отладки в веб-приложениях .