Comece a usar o App Check com um provedor personalizado usando C++

Nesta página, mostramos como ativar o App Check em um app C++ usando seu provedor personalizado do App Check. Ao ativar o App Check, você ajuda a garantir que apenas seu app possa acessar os recursos do Firebase do seu projeto.

Se você quiser usar o App Check com os provedores padrão, consulte Ativar o App Check com provedores padrão usando C++.

Antes de começar

1. Adicionar a biblioteca do App Check ao seu app

Inclua a biblioteca do App Check no seu conjunto de dependências, seguindo as instruções de configuração do App Check.

2. Implementar as interfaces do App Check

Primeiro, você precisa criar classes que implementem as interfaces AppCheckProvider e AppCheckProviderFactory.

A classe AppCheckProvider precisa ter um método GetToken(), que coleta todas as informações exigidas pelo provedor personalizado do App Check como prova de autenticidade e as envia ao serviço de aquisição de tokens em troca de um token do App Check. O SDK do App Check processa o armazenamento em cache de tokens. Por causa disso, sempre use um novo token na implementação do GetToken().

class YourCustomAppCheckProvider : public AppCheckProvider {
  void GetToken(std::function<void(AppCheckToken, int, const std::string&)>
      completion_callback) {
    // Logic to exchange proof of authenticity for an App Check token and
    //   expiration time.
    // ...

    // Create AppCheckToken object.
    AppCheckToken appCheckToken;
    appCheckToken.token = token;
    appCheckToken.expire_time_millis = expireTime;

    completion_callback(appCheckToken, 0, "");

    // Or, if needing to return an error
    //completion_callback({}, error_code, "Error description");
  }
};

Além disso, implemente uma classe AppCheckProviderFactory que crie instâncias da implementação AppCheckProvider:

class YourCustomAppCheckProviderFactory : public AppCheckProviderFactory {
  AppCheckProvider* CreateProvider(App* app) {
    // Create and return an AppCheckProvider object.
    return new YourCustomAppCheckProvider(app);
  }
}

3. Inicializar o App Check

Adicione o seguinte código de inicialização ao app para que ele seja executado antes de usar outros SDKs do Firebase:

firebase::app_check::AppCheck::SetAppCheckProviderFactory(
    YourCustomAppCheckProviderFactory::GetInstance());

Próximas etapas

Depois que a biblioteca do App Check estiver instalada no seu app, comece a distribuir o app atualizado para os usuários.

O app cliente atualizado vai começar a enviar tokens do App Check em todas as solicitações feitas ao Firebase, mas os produtos dessa plataforma não exigirão que os tokens sejam válidos até que você ative a aplicação obrigatória na seção "App Check" do Console do Firebase.

Monitorar métricas e ativar a aplicação obrigatória

Antes de ativar a aplicação obrigatória, verifique se isso não vai afetar seus usuários legítimos. Por outro lado, se você perceber um uso suspeito dos recursos do seu app, convém ativar a aplicação obrigatória antes do previsto.

Para tomar essa decisão, analise as métricas do App Check nos serviços usados:

Ativar a aplicação obrigatória do App Check

Assim que você entender como o App Check vai afetar seus usuários, e se estiver tudo pronto para prosseguir com o processo, ative a aplicação obrigatória do App Check:

Usar o App Check em ambientes de depuração

Se, depois de registrar seu aplicativo no App Check, você quiser executá-lo em um ambiente que o App Check normalmente não classificaria como válido, como um emulador durante o desenvolvimento ou de uma integração contínua (CI), será possível criar um build de depuração do seu app que use o provedor de depuração do App Check em vez de um provedor de atestado real.

Consulte Usar o App Check com o provedor de depuração usando C++.