Użyj funkcji App Check u dostawcy debugowania z Flutter

Po zarejestrowaniu aplikacji do sprawdzania aplikacji zwykle nie będzie ona działać w emulatorze ani w środowisku ciągłej integracji (CI), ponieważ te środowiska nie kwalifikują się jako prawidłowe urządzenia. Jeśli chcesz uruchomić aplikację w takim środowisku podczas opracowywania i testowania, możesz utworzyć kompilację debugowania aplikacji, która używa dostawcy debugowania sprawdzania aplikacji zamiast prawdziwego dostawcy zaświadczeń.

Platformy Apple'a

Aby użyć dostawcy debugowania podczas interaktywnego uruchamiania aplikacji w symulatorze (na przykład podczas programowania), wykonaj następujące czynności:

  1. Aktywuj sprawdzanie aplikacji u dostawcy debugowania zaraz po zainicjowaniu aplikacji 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. Włącz rejestrowanie debugowania w swoim projekcie Xcode (wersja 11.0 lub nowsza):

    1. Otwórz Produkt > Schemat > Edytuj schemat .
    2. Wybierz opcję Uruchom z menu po lewej stronie, a następnie wybierz kartę Argumenty .
    3. W sekcji argumenty przekazane podczas uruchamiania dodaj opcję -FIRDebugEnabled .
  3. Otwórz ios/Runner.xcworkspace z Xcode i uruchom swoją aplikację w Symulatorze. Twoja aplikacja wydrukuje lokalny token debugowania na wyjściu debugowania, gdy Firebase spróbuje wysłać żądanie do zaplecza. Na przykład:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. W sekcji Sprawdzanie aplikacji w konsoli Firebase wybierz Zarządzaj tokenami debugowania z przepełnionego menu aplikacji. Następnie zarejestruj token debugowania, który zarejestrowałeś w poprzednim kroku.

    Zrzut ekranu przedstawiający element menu Zarządzaj tokenami debugowania

Po zarejestrowaniu tokena usługi zaplecza Firebase zaakceptują go jako ważny.

Ponieważ ten token umożliwia dostęp do zasobów Firebase bez ważnego urządzenia, ważne jest, aby zachować go jako prywatny. Nie przesyłaj go do publicznego repozytorium, a jeśli zarejestrowany token zostanie kiedykolwiek naruszony, natychmiast odwołaj go w konsoli Firebase.

Android

Aby korzystać z dostawcy debugowania podczas uruchamiania aplikacji Flutter w środowisku Android, zaimplementuj następujący kod w aplikacji 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());
}

Twoja aplikacja wydrukuje lokalny token debugowania na wyjściu debugowania, gdy Firebase spróbuje wysłać żądanie do zaplecza. Na przykład:

D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  1. W sekcji Sprawdzanie aplikacji w konsoli Firebase wybierz Zarządzaj tokenami debugowania z przepełnionego menu aplikacji. Następnie zarejestruj token debugowania, który zarejestrowałeś w poprzednim kroku.

    Zrzut ekranu przedstawiający element menu Zarządzaj tokenami debugowania

Po zarejestrowaniu tokena usługi zaplecza Firebase zaakceptują go jako ważny.

Sieć

Aby użyć dostawcy debugowania podczas uruchamiania aplikacji z localhost (na przykład podczas programowania), wykonaj następujące czynności:

  1. W pliku web/index.html włącz tryb debugowania, ustawiając self.FIREBASE_APPCHECK_DEBUG_TOKEN na true :

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. Uruchom aplikację internetową lokalnie i otwórz narzędzie programistyczne w przeglądarce. W konsoli debugowania zobaczysz token debugowania:

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

    Ten token jest przechowywany lokalnie w Twojej przeglądarce i będzie używany za każdym razem, gdy będziesz korzystać z aplikacji w tej samej przeglądarce na tym samym komputerze. Jeśli chcesz użyć tokenu w innej przeglądarce lub na innym komputerze, ustaw self.FIREBASE_APPCHECK_DEBUG_TOKEN na ciąg tokenu zamiast true .

  3. W sekcji Sprawdzanie aplikacji w konsoli Firebase wybierz Zarządzaj tokenami debugowania z przepełnionego menu aplikacji. Następnie zarejestruj token debugowania, który zarejestrowałeś w poprzednim kroku.

    Zrzut ekranu przedstawiający element menu Zarządzaj tokenami debugowania

Po zarejestrowaniu tokena usługi zaplecza Firebase zaakceptują go jako ważny.

Ponieważ ten token umożliwia dostęp do zasobów Firebase bez ważnego urządzenia, ważne jest, aby zachować go jako prywatny. Nie przesyłaj go do publicznego repozytorium, a jeśli zarejestrowany token zostanie kiedykolwiek naruszony, natychmiast odwołaj go w konsoli Firebase.