Ponte al día con lo más destacado de Firebase en Google I/O 2023. Más información

Habilita la aplicación forzosa de la Verificación de aplicaciones para Cloud Functions

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

A fin de comenzar a aplicar de manera forzosa los requisitos del token de la Verificación de aplicaciones en las funciones de Cloud Functions que admiten llamadas, modifica las funciones para comprobar los tokens válidos de la Verificación de aplicaciones, como se muestra a continuación. Una vez que habilites la aplicación forzosa, se rechazarán todas las solicitudes no verificadas.

  1. Actualiza la dependencia firebase-functions del proyecto a la versión 4.0.0 o una posterior:

    npm install firebase-functions@">=4.0.0"
    

    Actualiza la dependencia firebase-admin del proyecto a la versión 9.8.0 o una posterior:

    npm install firebase-admin@">=9.8.0"
    
  2. Configura la opción enforceAppCheck del entorno de ejecución de tu función como true:

    exports.yourCallableFunction = functions.
      .runWith({
        enforceAppCheck: true  // Requests without valid App Check tokens will be rejected.
      })
      .https.onCall((data, context) => {
        // Your function logic follows.
      });
    
  3. Agrega una marca de verificación de context.app a la función. La función debería fallar si context.app no está definido.

    exports.yourCallableFunction = functions.https.onCall((data, context) => {
      // context.app will be undefined if the request doesn't include an
      // App Check token. (If the request includes an invalid App Check
      // token, the request will be rejected with HTTP error 401.)
      if (context.app == undefined) {
        throw new functions.https.HttpsError(
            'failed-precondition',
            'The function must be called from an App Check verified app.')
      }
    
      // Your function logic follows.
    });
    
  4. Vuelve a implementar las funciones:

    firebase deploy --only functions
    

Una vez que se implementen estos cambios, las funciones de Cloud Functions que admiten llamadas requerirán tokens válidos de la Verificación de aplicaciones. Los SDK de cliente de Cloud Functions adjuntan un token de la Verificación de aplicaciones de forma automática cuando se invoca una función que admite llamadas.