| Выберите платформу: | iOS+ Android Web Flutter |
На этой странице рассказывается, как настроить App Check в приложении Flutter с помощью поставщика reCAPTCHA Enterprise. App Check помогает обеспечить доступ к внутренним ресурсам проекта только для вашего приложения. Подробнее о App Check…
App Check требует использования ключей reCAPTCHA на основе оценки, что делает его невидимым для пользователей. Это означает, что поставщик reCAPTCHA Enterprise не будет требовать от пользователей проходить проверку.
Если вам нужны функции reCAPTCHA Enterprise, не реализованные в App Check, или вы хотите использовать App Check с собственным поставщиком, прочитайте статью Как реализовать собственный поставщик App Check.
1. Как настроить проект Firebase
Если вы ещё этого не сделали, установите и инициализируйте Firebase в проекте Flutter.
В консоли Google Cloud перейдите на страницу Защита от мошенничества и выполните следующие действия для поставщика reCAPTCHA Enterprise:
Убедитесь, что вы находитесь в нужном проекте (см. меню выбора проекта в верхней части экрана).
Если появится запрос, включите reCAPTCHA Enterprise API.
Создайте ключ для нужной платформы:
iOS+
Создайте ключ типа iOS и укажите идентификатор пакета приложения (например,
com.example.my_app).Убедитесь, что вы ввели тот же идентификатор пакета, который указали при создании приложения Firebase Apple в проекте Firebase. Значение идентификатора пакета указывается с учетом регистра.
Для App Check каждый идентификатор пакета может соответствовать только одному ключу reCAPTCHA.
Android
Создайте ключ типа Android и укажите название пакета приложения (например,
com.example.my_app).Убедитесь, что вы указали то же название пакета, что и при создании приложения Android в проекте Firebase. Название пакета указывается с учетом регистра.
Для App Check каждое название пакета может соответствовать только одному ключу reCAPTCHA.
Веб-приложение
Создайте ключ типа Веб и укажите все домены для своих веб-приложений.
App Check не поддерживает веб-приложения, которые работают более чем в 250 доменах.
Никогда не добавляйте
localhostв качестве домена для ключа reCAPTCHA, который развернут (или будет развернут) в рабочей среде.Не устанавливайте флажок "Использовать проверку с помощью флажка".
Подробные инструкции приведены в статье Как создать ключи reCAPTCHA на основе оценки.
Запишите каждый ключ. Вам нужно будет добавить их в процесс регистрации в консоли Firebase.
В консоли Firebase выберите Security (Безопасность) > App Check (Проверка приложений).
На вкладке Apps (Приложения) зарегистрируйте каждое из приложений для целевой платформы, чтобы использовать App Check с поставщиком reCAPTCHA Enterprise. Вам нужно будет указать ключ, полученный в консоли Google Cloud.
Необязательно. Установите время жизни токена (TTL).
В настройках регистрации приложения задайте пользовательское время жизни (TTL) для токенов App Check, выпущенных поставщиком. Вы можете задать любое значение TTL в диапазоне от 30 минут до 7 дней. При изменении этого значения учитывайте следующее:
- Безопасность. Более короткие TTL обеспечивают более надежную защиту, поскольку они сокращают окно, в котором злоумышленник может использовать утекший или перехваченный токен.
- Производительность. Чем меньше TTL, тем чаще приложение будет выполнять проверку. Поскольку процесс проверки приложения добавляет задержку к сетевым запросам при каждом выполнении, короткий TTL может повлиять на производительность вашего приложения.
- Квота и стоимость. Короткие TTL и частая повторная аттестация быстрее расходуют квоту и могут повысить стоимость платных сервисов. Подробнее о квотах и лимитах…
Значение TTL по умолчанию (1 час) подходит для большинства приложений. Обратите внимание, что библиотека App Check обновляет токены примерно через половину времени TTL.
Необязательно. Задайте расширенные настройки.
Нажмите Сохранить.
(Необязательно) Задайте расширенные настройки
Когда пользователь открывает приложение, reCAPTCHA Enterprise оценивает уровень риска взаимодействия пользователя с ключом и возвращает оценку от 0,0 до 1,0 с шагом 0,1.
- Оценка 0,0 указывает на то, что взаимодействие представляет высокий риск и может быть мошенническим.
- Оценка 1,0 означает, что взаимодействие представляет низкий риск и, скорее всего, является допустимым.
App Check позволяет настроить пороговое значение риска приложения, чтобы вы могли задать допустимый уровень риска.
В большинстве случаев рекомендуется использовать пороговое значение по умолчанию – 0, 5. Если вам нужно изменить это значение, вы можете сделать это для каждого приложения в консоли Firebase (выберите Security (Безопасность) > App Check (Проверка приложений)). Обязательно разверните и изучите раздел Важные примечания о настройке порогового значения риска для приложений ниже.
2. Добавьте плагин App Check в приложение
Чтобы использовать поставщика reCAPTCHA Enterprise, необходимо добавить соответствующий плагин App Check.
Чтобы установить плагин, выполните следующую команду в корневом каталоге проекта Flutter:
flutter pub add firebase_app_checkПосле этого пересоберите проект Flutter:
flutter run
3. Инициализация App Check
Прежде чем использовать другие сервисы Firebase, необходимо инициализировать App Check в приложении.
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_app_check/firebase_app_check.dart';
import 'firebase_options.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
await FirebaseAppCheck.instance.activate(
providerWeb: ReCaptchaEnterpriseProvider(WEB_SITE_KEY),
providerAndroid: const AndroidReCaptchaProvider(ANDROID_SITE_KEY),
providerApple: const AppleReCaptchaProvider(IOS_SITE_KEY),
);
runApp(App());
}
4. Отслеживайте показатели и включите принудительное применение
После настройки App Check в приложении начните распространять обновленное приложение среди пользователей.
Обновленное клиентское приложение начнет отправлять токены App Check с каждым запросом к Firebase. Однако App Check не будет блокировать запросы с недействительными токенами, пока не будет принудительно применена App Check.
Отслеживание показателей
Прежде чем включить принудительное применение, убедитесь, что это не помешает вашим существующим пользователям. Однако если вы заметили подозрительное использование ресурсов приложения, то можете включить принудительное применение раньше.
Чтобы принять решение, вы можете посмотреть показатели App Check для используемых вами сервисов:
- Отслеживайте показатели запросов App Check для Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity для iOS, Maps JavaScript API и Places API (New).
- Отслеживайте показатели запросов App Check для Cloud Functions.
Включить меры App Check
Когда вы поймете, как App Check повлияет на пользователей, и будете готовы продолжить, вы сможете включить принудительное применение App Check:
- Включите принудительное применение App Check для Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity для iOS, Maps JavaScript API и Places API (New).
- Включите принудительное применение App Check для Cloud Functions.
Используйте App Check в средах отладки
App Check классифицирует некоторые среды как недопустимые, например запросы от эмулятора / симулятора или локального хоста во время разработки или из среды непрерывной интеграции (CI).
Чтобы запускать приложение в таких средах после того, как App Check станет обязательной, вам нужно создать отладочную сборку приложения, которая использует отладочный поставщик App Check вместо рабочего поставщика проверки.
Подробнее о том, как использовать App Check с отладочным поставщиком в приложениях Flutter…
Цены
App Check создает оценку от вашего имени, чтобы проверять токен ответа пользователя каждый раз, когда ваше приложение обновляет токен App Check. С вашего проекта Firebase будет взиматься плата за каждую оценку, созданную сверх бесплатной квоты. Подробнее о ценах на reCAPTCHA…
По умолчанию приложение обновляет этот токен дважды в час. Чтобы контролировать, как часто приложение обновляет токены App Check (и, следовательно, как часто создаются новые оценки), вы можете настроить TTL токена.