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. Instala el SDK de Cloud Functions.

    Node.js (1ª gen.)

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

    npm install firebase-functions@">=4.0.0"
    

    Node.js (2ª gen.)

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

    npm install firebase-functions@">=4.0.0"
    

    Python (vista previa)

    Agrega firebase-functions a functions/requirements.txt:

    firebase-functions >= 0.1.0
    

    Luego, actualiza las dependencias en el entorno virtual de tu proyecto:

    ./venv/bin/pip install -r requirements.txt
    
  2. Habilita la opción del entorno de ejecución de la aplicación forzosa de la Verificación de aplicaciones para la función:

    Node.js (1ª gen.)

    const functions = require("firebase-functions/v1");
    
    exports.yourV1CallableFunction = functions
      .runWith({
          enforceAppCheck: true, // Reject requests with missing or invalid App Check tokens.
      })
      .https.onCall((data, context) => {
            // context.app contains data from App Check, including the app ID.
            // Your function logic follows.
            ...
      });
    

    Node.js (2ª gen.)

    const { onCall } = require("firebase-functions/v2/https");
    
    exports.yourV2CallableFunction = onCall(
      {
        enforceAppCheck: true, // Reject requests with missing or invalid App Check tokens.
      },
      (request) => {
        // request.app contains data from App Check, including the app ID.
        // Your function logic follows.
        ...
      }
    );
    

    Python (vista previa)

    from firebase_functions import https_fn
    
    @https_fn.on_call(
        enforce_app_check=True  # Reject requests with missing or invalid App Check tokens.
    )
    def your_callable_function(req: https_fn.CallableRequest) -> https_fn.Response:
        # req.app contains data from App Check, including the app ID.
        # Your function logic follows.
        ...
    
  3. 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.