Используйте проверку приложений с поставщиком отладки с Flutter

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

Платформы Apple

Чтобы использовать поставщик отладки при интерактивном запуске приложения в симуляторе (например, во время разработки), выполните следующие действия:

  1. Активируйте проверку приложения с помощью поставщика отладки сразу после инициализации приложения Firebase:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set appleProvider to `AppleProvider.debug`
        appleProvider: AppleProvider.debug,
      );
      runApp(App());
    }
    
  2. Включите ведение журнала отладки в вашем проекте Xcode (v11.0 или новее):

    1. Откройте Продукт > Схема > Редактировать схему .
    2. Выберите пункт Выполнить в левом меню, затем выберите вкладку Аргументы .
    3. В разделе «Аргументы, передаваемые при запуске» добавьте -FIRDebugEnabled .
  3. Откройте ios/Runner.xcworkspace в Xcode и запустите приложение в симуляторе. Ваше приложение выведет локальный отладочный токен в отладочный вывод, когда Firebase попытается отправить запрос к бэкенду. Например:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. В разделе App Check консоли Firebase выберите «Управление токенами отладки» в дополнительном меню приложения. Затем зарегистрируйте токен отладки, созданный на предыдущем шаге.

    Скриншот пункта меню «Управление токенами отладки»

После регистрации токена внутренние службы Firebase примут его как действительный.

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

Андроид

Чтобы использовать поставщик отладки при запуске приложения Flutter в среде Android, реализуйте следующий код в своем приложении Flutter:

import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';

// Import the firebase_app_check plugin
import 'package:firebase_app_check/firebase_app_check.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await FirebaseAppCheck.instance.activate(
    webRecaptchaSiteKey: 'recaptcha-v3-site-key',
    // Set androidProvider to `AndroidProvider.debug`
    androidProvider: AndroidProvider.debug,
  );
  runApp(App());
}

Ваше приложение выведет локальный отладочный токен в отладочный вывод, когда Firebase попытается отправить запрос на бэкенд. Например:

D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  1. В разделе App Check консоли Firebase выберите «Управление токенами отладки» в дополнительном меню приложения. Затем зарегистрируйте токен отладки, созданный на предыдущем шаге.

    Скриншот пункта меню «Управление токенами отладки»

После регистрации токена внутренние службы Firebase примут его как действительный.

Интернет

Чтобы использовать поставщик отладки при запуске приложения с localhost (например, во время разработки), выполните следующие действия:

  1. В файле web/index.html включите режим отладки, установив self.FIREBASE_APPCHECK_DEBUG_TOKEN в true :

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. Запустите веб-приложение локально и откройте инструмент разработчика в браузере. В консоли отладки вы увидите отладочный токен:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.

    Этот токен хранится локально в вашем браузере и будет использоваться при каждом запуске приложения в том же браузере на том же компьютере. Если вы хотите использовать токен в другом браузере или на другом компьютере, установите self.FIREBASE_APPCHECK_DEBUG_TOKEN строку токена вместо true .

  3. В разделе App Check консоли Firebase выберите «Управление токенами отладки» в дополнительном меню приложения. Затем зарегистрируйте токен отладки, созданный на предыдущем шаге.

    Скриншот пункта меню «Управление токенами отладки»

После регистрации токена внутренние службы Firebase примут его как действительный.

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