Si, después de registrar tu app para App Check, quieres ejecutarla en un entorno que App Check normalmente no clasificaría como válido, como un simulador o un dispositivo durante el desarrollo, o desde un entorno de integración continua (CI), puedes crear una compilación de depuración de la app que use el proveedor de depuración de App Check en lugar de un proveedor de certificación real.
Usa el proveedor de depuración en el desarrollo
Para usar el proveedor de depuración mientras ejecutas la app de forma interactiva (por ejemplo, durante el desarrollo), haz lo siguiente:
En la compilación de depuración, antes de usar cualquier servicio de backend de Firebase, crea y configura la fábrica del proveedor de depuración de App Check:
Swift
let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
Objective-C
FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; // Use Firebase library to configure APIs [FIRApp configure];
Habilita el acceso a la depuración en el proyecto de Xcode (v11.0 o una versión posterior):
- Abre Producto > Esquema > Edit scheme.
- Selecciona Run en el menú de la izquierda y, luego, selecciona la pestaña Arguments.
- En la sección Arguments Passed On Launch, agrega
-FIRDebugEnabled
.
Inicia la app. 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
En la sección App Check de Firebase console, elige Administrar tokens de depuración en el menú ampliado de la app. Luego, registra el token de depuración que ingresaste en el paso anterior.
Después de registrar el token, los servicios de backend de Firebase lo aceptarán como válido.
Debido a que este token permite el acceso a tus recursos de Firebase sin un dispositivo válido, es fundamental que sea privado. No lo confirmes en un repositorio público y, si un token registrado se ve comprometido, revócalo de inmediato en Firebase console.
Usa el proveedor de depuración en un entorno de CI
Para usar el proveedor de depuración en un entorno de integración continua (CI), haz lo siguiente:
En la sección App Check de Firebase console, elige Administrar tokens de depuración en el menú ampliado de la app. Luego, crea un token de depuración nuevo. Lo necesitarás en el siguiente paso.
Debido a que este token permite el acceso a tus recursos de Firebase sin un dispositivo válido, es fundamental que sea privado. No lo confirmes en un repositorio público y, si un token registrado se ve comprometido, revócalo de inmediato en Firebase console.
Agrega el token de depuración que acabas de crear al almacén de claves seguro del sistema de CI (por ejemplo, los secretos encriptados de GitHub Actions o las variables encriptadas de Travis CI).
Si es necesario, configura el sistema de CI a fin de que el token de depuración esté disponible dentro del entorno de CI como una variable de entorno. Asigna un nombre a la variable, como
APP_CHECK_DEBUG_TOKEN_FROM_CI
.En Xcode, agrega una variable de entorno a tu esquema de prueba con el nombre
FIRAAppCheckDebugToken
y un valor similar a$(APP_CHECK_DEBUG_TOKEN)
.Configura la secuencia de comandos 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)
En la compilación de depuración, antes de usar cualquier servicio de backend de Firebase, crea y configura la fábrica del proveedor de depuración de App Check:
Swift
let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
Objective-C
FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; // Use Firebase library to configure APIs [FIRApp configure];
Cuando la app se ejecute en un entorno de CI, los servicios de backend de Firebase aceptarán el token que envía como válido.