Utilice App Check con el proveedor de depuración con Flutter

Después de haber registrado su aplicación para App Check, su aplicación normalmente no se ejecutará en un emulador o desde un entorno de integración continua (CI), ya que esos entornos no califican como dispositivos válidos. Si desea ejecutar su aplicación en dicho entorno durante el desarrollo y las pruebas, puede crear una compilación de depuración de su aplicación que utilice el proveedor de depuración App Check en lugar de un proveedor de certificación real.

plataformas de manzana

Para usar el proveedor de depuración mientras ejecuta su aplicación en un simulador de forma interactiva (durante el desarrollo, por ejemplo), haga lo siguiente:

  1. Active App Check con el proveedor de depuración inmediatamente después de haber inicializado su aplicación 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. Habilite el registro de depuración en su proyecto Xcode (v11.0 o posterior):

    1. Abra Producto > Esquema > Editar esquema .
    2. Seleccione Ejecutar en el menú de la izquierda, luego seleccione la pestaña Argumentos .
    3. En la sección Argumentos pasados ​​en el lanzamiento , agregue -FIRDebugEnabled .
  3. Abra ios/Runner.xcworkspace con Xcode y ejecute su aplicación en el simulador. Su aplicación imprimirá un token de depuración local en la salida de depuración cuando Firebase intente enviar una solicitud al backend. Por ejemplo:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. En la sección App Check de Firebase console, elige Administrar tokens de depuración en el menú adicional de tu aplicación. Luego, registre el token de depuración que inició sesión en el paso anterior.

    Captura de pantalla del elemento de menú Administrar tokens de depuración

Después de registrar el token, los servicios backend de Firebase lo aceptarán como válido.

Debido a que este token permite el acceso a sus recursos de Firebase sin un dispositivo válido, es fundamental que lo mantenga privado. No lo envíes a un repositorio público y, si alguna vez un token registrado se ve comprometido, revocarlo inmediatamente en Firebase console.

Androide

Para usar el proveedor de depuración mientras ejecuta su aplicación Flutter en un entorno Android, implemente el siguiente código en su aplicación 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());
}

Su aplicación imprimirá un token de depuración local en la salida de depuración cuando Firebase intente enviar una solicitud al backend. Por ejemplo:

D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  1. En la sección App Check de Firebase console, elige Administrar tokens de depuración en el menú adicional de tu aplicación. Luego, registre el token de depuración que inició sesión en el paso anterior.

    Captura de pantalla del elemento de menú Administrar tokens de depuración

Después de registrar el token, los servicios backend de Firebase lo aceptarán como válido.

Web

Para usar el proveedor de depuración mientras ejecuta su aplicación desde localhost (durante el desarrollo, por ejemplo), haga lo siguiente:

  1. En el archivo web/index.html , habilite el modo de depuración estableciendo self.FIREBASE_APPCHECK_DEBUG_TOKEN en true :

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. Ejecute su aplicación web localmente y abra la herramienta de desarrollo del navegador. En la consola de depuración, verás un token de depuración:

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

    Este token se almacena localmente en su navegador y se utilizará siempre que utilice su aplicación en el mismo navegador en la misma máquina. Si desea utilizar el token en otro navegador o en otra máquina, configure self.FIREBASE_APPCHECK_DEBUG_TOKEN en la cadena del token en lugar de true .

  3. En la sección App Check de Firebase console, elige Administrar tokens de depuración en el menú adicional de tu aplicación. Luego, registre el token de depuración que inició sesión en el paso anterior.

    Captura de pantalla del elemento de menú Administrar tokens de depuración

Después de registrar el token, los servicios backend de Firebase lo aceptarán como válido.

Debido a que este token permite el acceso a sus recursos de Firebase sin un dispositivo válido, es fundamental que lo mantenga privado. No lo envíes a un repositorio público y, si alguna vez un token registrado se ve comprometido, revocarlo inmediatamente en Firebase console.