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.
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"
Configura la opción
enforceAppCheck
del entorno de ejecución de tu función comotrue
:exports.yourCallableFunction = functions. .runWith({ enforceAppCheck: true // Requests without valid App Check tokens will be rejected. }) .https.onCall((data, context) => { // Your function logic follows. });
Agrega una marca de verificación de
context.app
a la función. La función debería fallar sicontext.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. });
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.