Fique por dentro dos destaques do Firebase no Google I/O 2023. Saiba mais

Ativar a aplicação do App Check nas funções do Cloud

Assim que você entender como o App Check vai afetar seus usuários, e se estiver tudo pronto para seguir o processo, ative a aplicação do App Check.

Para começar a aplicar os requisitos do token do App Check ao Cloud Functions chamável, modifique as funções para verificar os tokens válidos do App Check, conforme mostrado abaixo. Depois de ativar a aplicação, todas as solicitações não verificadas serão rejeitadas.

  1. Atualize a dependência firebase-functions do projeto para a versão 4.0.0 ou mais recente:

    npm install firebase-functions@">=4.0.0"
    

    E atualize a dependência firebase-admin do projeto para a versão 9.8.0 ou mais recente:

    npm install firebase-admin@">=9.8.0"
    
  2. Defina como true a opção de ambiente de execução enforceAppCheck da função:

    exports.yourCallableFunction = functions.
      .runWith({
        enforceAppCheck: true  // Requests without valid App Check tokens will be rejected.
      })
      .https.onCall((data, context) => {
        // Your function logic follows.
      });
    
  3. Adicione uma verificação de context.app à função. Ela vai falhar se context.app não estiver 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. Implante as funções novamente:

    firebase deploy --only functions
    

Depois que essas alterações forem implantadas, o Cloud Functions chamável vai precisar de tokens válidos do App Check. Os SDKs do cliente do Cloud Functions anexam automaticamente um token do App Check quando você invoca uma função chamável.