Usa la Verificación de aplicaciones mediante el proveedor de depuración

Si después de registrar la app en la Verificación de aplicaciones quieres ejecutar tu en un entorno que la Verificación de aplicaciones no clasificaría como válido como un simulador durante el desarrollo o una integración continua (CI) puedes crear una compilación de depuración de tu app que use el Proveedor de depuración de la Verificación de aplicaciones en lugar de App Attest.

.

Usa el proveedor de depuración en un simulador

Cómo usar el proveedor de depuración mientras ejecutas la app en un simulador de manera interactiva (por ejemplo, durante el desarrollo), haz lo siguiente:

  1. Busca la clave de API de iOS para tu proyecto en Credenciales. de la página de la API y de Google Cloud de la consola de Google Cloud.

  2. En la compilación de depuración, configura la Verificación de aplicaciones para que use el proveedor de depuración. Deberás debes especificar la clave de API que obtuviste en el paso anterior.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    
  3. Inicia la app. Se registrará un token de depuración local en la consola de Xcode cuando el SDK intenta enviar una solicitud al backend. Por ejemplo:

    <Warning> [AppCheckCore][I-GAC004001] App Check debug token:
    '123a4567-b89c-12d3-e456-789012345678'.
    
  4. En la sección Verificación de aplicaciones de Firebase console, selecciona Administrar tokens de depuración en la sección menú ampliado. Luego, registra el token de depuración que registraste en la sesión anterior paso.

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

Después de registrar el token, los extremos de OAuth 2.0 de Google lo aceptarán como son válidos para tu proyecto.

Debido a que este token permite el acceso a tus extremos de autenticación sin un dispositivo válido, es fundamental que sea privado. No lo confirmes 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: lo siguiente:

  1. En la sección Verificación de aplicaciones de Firebase console, selecciona Administrar tokens de depuración en la sección menú ampliado. Luego, crea un token de depuración nuevo. Necesitarás el token en el próximo paso.

    Debido a que este token permite el acceso a tus extremos de autenticación sin un dispositivo válido, es fundamental que sea privado. No lo confirmes repositorio público y, si un token registrado se ve comprometido, revócalo de inmediato en Firebase console.

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

  2. 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).

  3. Si es necesario, configura el sistema de CI para que el token de depuración esté disponible dentro del entorno de CI como una variable de entorno. Asigna un nombre a la variable algo como APP_CHECK_DEBUG_TOKEN_FROM_CI.

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

  5. Configura tu secuencia de comandos de prueba de CI para pasar el token de depuración como un entorno. de salida. Por ejemplo:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. Busca la clave de API de iOS para tu proyecto en Credenciales. de la página de la API y de Google Cloud de la consola de Google Cloud.

  7. En la compilación de depuración, configura la Verificación de aplicaciones para que use el proveedor de depuración. Deberás debes especificar la clave de API que obtuviste en el paso anterior.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    

Cuando tu app se ejecute en un entorno de CI, los extremos de OAuth 2.0 de Google aceptarán el token que envía como válido para tu proyecto.