Firebase is back at Google I/O on May 10! Register now

Используйте App Check с поставщиком отладки с Flutter

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

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

Платформы Apple

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

  1. В файле ios/Runner/AppDelegate.swift (или AppDelegate.m ) создайте и задайте фабрику поставщика отладки проверки приложений в сборках отладки:

    Быстрый

    import UIKit
    import Flutter
    import Firebase  // Add the Firebase import.
    
    @UIApplicationMain
    @objc class AppDelegate: FlutterAppDelegate {
      override func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
      ) -> Bool {
        // Use the debug provider in Debug builds:
    #if DEBUG
        let providerFactory = AppCheckDebugProviderFactory()
        AppCheck.setAppCheckProviderFactory(providerFactory)
    #endif
    
        GeneratedPluginRegistrant.register(with: self)
        return super.application(application, didFinishLaunchingWithOptions: launchOptions)
      }
    }
    

    Цель-C

    #import "AppDelegate.h"
    #import "GeneratedPluginRegistrant.h"
    @import Firebase;  // Add the Firebase import.
    
    @implementation AppDelegate
    
    - (BOOL)application:(UIApplication *)application
        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
      // Use the debug provider in Debug builds:
    #if DEBUG
      FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init];
      [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    #endif
      [GeneratedPluginRegistrant registerWithRegistry:self];
      // Override point for customization after application launch.
      return [super application:application didFinishLaunchingWithOptions:launchOptions];
    }
    
    @end
    
  2. Включите ведение журнала отладки в вашем проекте Xcode (v11.0 или новее):

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

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. В разделе «Проверка приложений» консоли 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. В разделе «Проверка приложений» консоли 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. В разделе «Проверка приложений» консоли Firebase выберите «Управление токенами отладки» в дополнительном меню вашего приложения. Затем зарегистрируйте токен отладки, который вы зарегистрировали на предыдущем шаге.

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

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

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