Comienza a usar la Verificación de aplicaciones con reCAPTCHA Enterprise en plataformas de Apple

Seleccionar plataforma: iOS+ Android Web Flutter


En esta página, se muestra cómo configurar App Check en una app para plataformas de Apple, con el proveedor de reCAPTCHA Enterprise. App Check ayuda a garantizar que solo tu app pueda acceder a los recursos de backend de tu proyecto. Para obtener más información, consulta nuestra descripción general de App Check.

App Check requiere el uso de claves de reCAPTCHA basadas en puntuaciones reCAPTCHA, lo que la vuelve invisible para los usuarios. Esto significa que el reCAPTCHA Enterprise proveedor no requerirá que los usuarios resuelvan un desafío en ningún momento.

Si tu caso de uso requiere funciones de reCAPTCHA Enterprise que no implementa la App Check, o si quieres usar la App Check con tu propio proveedor personalizado, consulta Implementa un proveedor personalizado de la App Check.

1. Configura el proyecto de Firebase

  1. Si aún no lo has hecho, agrega Firebase a tu proyecto de Apple.

  2. En la consola de Google Cloud, ve a la página Fraud Defense, y haz lo siguiente para el proveedor de reCAPTCHA Enterprise:

    1. Asegúrate de estar en el proyecto correcto (consulta el selector de proyectos en la parte superior de la pantalla).

    2. Si se te solicita, habilita la API reCAPTCHA Enterprise.

    3. Crea una clave de tipo iOS y especifica el ID del paquete de tu app (por ejemplo, com.example.my_app).

      • Asegúrate de ingresar el mismo ID del paquete que proporcionaste cuando creaste tu app de Firebase para Apple en tu proyecto de Firebase. El valor del ID del paquete distingue entre mayúsculas y minúsculas.

      • En el caso de App Check, cada ID del paquete solo puede corresponder a una sola clave de reCAPTCHA.

      Para obtener instrucciones detalladas, consulta Crea claves reCAPTCHA basadas en puntuaciones.

    4. Toma nota de esta clave. Deberás agregarla al flujo de registro en la Firebase console.

  3. En la consola de Firebase, navega a Seguridad > Verificación de aplicaciones.

  4. En la pestaña Apps, registra tus apps para plataformas de Apple para usar App Check con el proveedor reCAPTCHA Enterprise. Deberás proporcionar la clave que obtuviste en la consola Google Cloud.

  5. Opcional: Establece el tiempo de actividad (TTL) del token.

    En los parámetros de configuración del registro de la app, establece un tiempo de actividad (TTL) personalizado para App Check los tokens que emite el proveedor. Puedes establecer el TTL en cualquier valor entre 30 minutos y 7 días. Cuando cambies este valor, ten en cuenta las siguientes compensaciones:

    • Seguridad: Los TTL más cortos proporcionan una mayor seguridad, ya que reducen el período en el que un atacante puede abusar de un token filtrado o interceptado.
    • Rendimiento: Si usas TTL más cortos, la app realizará la certificación con mayor frecuencia. Debido a que el proceso de certificación de la app agrega latencia a las solicitudes de red cada vez que se realiza, un TTL corto puede afectar el rendimiento de la app.
    • Cuota y costo: Los TTL más cortos y las certificaciones frecuentes agotan tu cuota con mayor rapidez. Además, en el caso de los servicios pagados, es posible que tengan un costo mayor. Consulta Cuotas y límites.

    El TTL predeterminado de 1 hora es razonable para la mayoría de las apps. Ten en cuenta que la biblioteca App Check actualiza los tokens aproximadamente en la mitad de la duración del TTL.

  6. Opcional: Establece la configuración avanzada.

  7. Haz clic en Guardar.

(Opcional) Establece la configuración avanzada

Cuando un usuario abre tu app, reCAPTCHA Enterprise evalúa el nivel de riesgo que representa la interacción del usuario con la clave y devuelve una puntuación entre 0.0 y 1.0, en incrementos de 0.1.

  • Una puntuación de 0.0 indica que la interacción representa un riesgo alto y podría ser fraudulenta.
  • Una puntuación de 1.0 indica que la interacción representa un riesgo bajo y es muy probable que sea legítima.

App Check te permite configurar un umbral de riesgo de la app para que puedas ajustar tu tolerancia a este riesgo.

En la mayoría de los casos de uso, se recomienda el valor de umbral predeterminado de 0.5. Si tu caso de uso requiere ajustes, puedes configurar este valor para cada una de tus apps en la consola de Firebase (ve a Seguridad > Verificación de aplicaciones). Asegúrate de expandir y revisar algunas consideraciones importantes sobre la configuración del umbral de riesgo de la app que se indican a continuación.

2. Agrega el App Check SDK a tu app

Usa Swift Package Manager (SPM) para instalar y administrar las dependencias de Firebase. Si ya usas Firebase, asegúrate de que tu paquete de Firebase sea la versión 12.17.0 o posterior.

  1. En Xcode, abre el proyecto de tu app.

  2. Agrega la biblioteca de Firebase:

    1. Navega a File > Add Packages.

    2. Cuando se te solicite, agrega el repositorio del SDK de Firebase para plataformas de Apple:

      https://github.com/firebase/firebase-ios-sdk
      
    3. Selecciona la versión más reciente del SDK (v12.17.0 o posterior).

    4. Selecciona la biblioteca FirebaseAppCheck.

    5. Haz clic en Add Package. Xcode resolverá y descargará las dependencias.

    6. Cuando se te solicite, agrega la biblioteca al destino de tu app.

  3. Agrega la biblioteca de reCAPTCHA Enterprise:

    1. Vuelve a navegar a File > Add Packages.

    2. Cuando se te solicite, agrega el repositorio del SDK de reCAPTCHA Enterprise:

      https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdk
      
    3. Selecciona la biblioteca RecaptchaEnterprise.

    4. Haz clic en Add Package. Cuando se te solicite, agrega la biblioteca al destino de tu app.

3. Inicializa App Check

En tu app, debes inicializar App Check antes de usar cualquier otro servicio de Firebase.

Crea una instancia de RecaptchaProviderFactory, pasa tu reCAPTCHA clave y, luego, configura App Check para usarla:

let providerFactory = RecaptchaProviderFactory(siteKey: "SITE_KEY")
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

4. Supervisa las métricas y habilita la aplicación forzosa

Después de configurar App Check en tu app, comienza a distribuir la app actualizada a tus usuarios.

La app cliente actualizada comenzará a enviar App Check tokens junto con cada solicitud que realice a Firebase. Sin embargo, App Check no bloqueará las solicitudes con tokens no válidos hasta que se aplique App Check.

Supervisa las métricas

_**Antes de habilitar la aplicación forzosa**_, asegúrate de que esto no interrumpa a tus usuarios legítimos existentes. Por otro lado, si ves un uso sospechoso de los recursos de tu app, te convendrá habilitar la aplicación más pronto.

Para ayudarte a tomar esta decisión, puedes revisar las métricas App Check para los servicios que usas:

Habilita la aplicación forzosa de App Check

Cuando comprendas cómo afectará App Check a tus usuarios y estés listo para continuar, puedes habilitar la aplicación forzosa de App Check:

Usa App Check en entornos de depuración

App Check clasifica algunos entornos como no válidos, como las solicitudes de un emulador o simulador durante el desarrollo o de un entorno de integración continua (CI).

Para ejecutar tu app en estos tipos de entornos después de que se aplique App Check, debes crear una compilación de depuración de la app que use el App Check proveedor de depuración en lugar de un proveedor de certificación de producción.

Para obtener más detalles, consulta Usa App Check mediante el proveedor de depuración en plataformas de Apple.

Precios

App Check crea una evaluación en tu nombre para validar el token de respuesta del usuario cada vez que tu app actualiza su token de App Check. Tu proyecto de Firebase se cobrará por cada evaluación creada por encima de la cuota sin costo. Para obtener detalles, consulta los precios de reCAPTCHA.

De forma predeterminada, la app actualiza este token dos veces cada 1 hora. Para controlar la frecuencia con que tu app actualiza los tokens de App Check (y, por lo tanto, con qué frecuencia se crean evaluaciones nuevas), puedes configurar el TTL del token.