Utilice App Check con el proveedor de depuración en plataformas Apple

Si, después de haber registrado su aplicación para App Check, desea ejecutarla en un entorno que App Check normalmente no clasificaría como válido, como un simulador durante el desarrollo, o desde un entorno de integración continua (CI), puede cree 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.

Utilice el proveedor de depuración en un simulador

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. En tu compilación de depuración, antes de usar cualquier servicio backend de Firebase, crea y configura la fábrica de proveedores de depuración de App Check:

    Rápido

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    C objetivo

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  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. Inicie la aplicación. Se registrará un token de depuración local cuando el SDK intente enviar una solicitud al backend. Por ejemplo:

    [Firebase/AppCheck][I-FAA001001] 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.

Utilice el proveedor de depuración en un entorno de CI

Para utilizar el proveedor de depuración en un entorno de integración continua (CI), haga lo siguiente:

  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, cree un nuevo token de depuración. Necesitará el token en el siguiente paso.

    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.

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

  2. Agregue el token de depuración que acaba de crear al almacén de claves seguro de su sistema CI (por ejemplo, los secretos cifrados de GitHub Actions o las variables cifradas de Travis CI).

  3. Si es necesario, configure su sistema CI para que su token de depuración esté disponible dentro del entorno CI como una variable de entorno. Nombra la variable como APP_CHECK_DEBUG_TOKEN_FROM_CI .

  4. En Xcode, agregue una variable de entorno a su esquema de prueba con el nombre FIRAAppCheckDebugToken y algo como $(APP_CHECK_DEBUG_TOKEN) como valor.

  5. Configure su script de prueba de CI para pasar el token de depuración como una variable de entorno. Por ejemplo:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. En tu compilación de depuración, antes de usar cualquier servicio backend de Firebase, crea y configura la fábrica de proveedores de depuración de App Check:

    Rápido

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    C objetivo

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

Cuando su aplicación se ejecuta en un entorno de CI, los servicios backend de Firebase aceptarán el token que envía como válido.