Esta página mostra como ativar o App Check em um aplicativo da web usando seu provedor personalizado do App Check . Ao ativar o App Check, você ajuda a garantir que apenas seu aplicativo possa acessar os recursos do Firebase do seu projeto.
Se você quiser usar o App Check com um dos provedores integrados, consulte a documentação do App Check com reCAPTCHA Enterprise .
Antes de você começar
Adicione o Firebase ao seu projeto JavaScript, caso ainda não tenha feito isso.
Implemente a lógica personalizada do lado do servidor do seu provedor do App Check .
1. Adicione a biblioteca App Check ao seu aplicativo
Adicione o Firebase ao seu aplicativo da web, caso ainda não o tenha feito. Certifique-se de importar a biblioteca App Check.
2. Crie o objeto do provedor do App Check
Crie um objeto de provedor do App Check para seu provedor personalizado. Este objeto deve ter um método getToken()
, que coleta todas as informações que seu provedor personalizado do App Check exige como prova de autenticidade e as envia para o seu serviço de aquisição de token em troca de um token do App Check. O App Check SDK lida com o cache de token, portanto, sempre obtenha um novo token em sua implementação de getToken()
.
import { CustomProvider } from "firebase/app-check";
const appCheckCustomProvider = new CustomProvider({
getToken: () => {
return new Promise((resolve, _reject) => {
// TODO: Logic to exchange proof of authenticity for an App Check token and
// expiration time.
// ...
const appCheckToken = {
token: tokenFromServer,
expireTimeMillis: expirationFromServer * 1000
};
resolve(appCheckToken);
});
}
});
const appCheckCustomProvider = {
getToken: () => {
return new Promise((resolve, _reject) => {
// TODO: Logic to exchange proof of authenticity for an App Check token and
// expiration time.
// ...
const appCheckToken = {
token: tokenFromServer,
expireTimeMillis: expirationFromServer * 1000
};
resolve(appCheckToken);
});
}
};
3. Inicialize a verificação do aplicativo
Adicione o seguinte código de inicialização ao seu aplicativo antes de acessar qualquer serviço do Firebase:
import { initializeApp } from "firebase/app";
import { initializeAppCheck } from "firebase/app-check";
const app = initializeApp({
// Your firebase configuration object
});
const appCheck = initializeAppCheck(app, {
provider: appCheckCustomProvider,
// Optional argument. If true, the SDK automatically refreshes App Check
// tokens as needed.
isTokenAutoRefreshEnabled: true
});
firebase.initializeApp({
// Your firebase configuration object
});
const appCheck = firebase.appCheck();
appCheck.activate(
appCheckCustomProvider,
// Optional argument. If true, the SDK automatically refreshes App Check
// tokens as needed.
true);
Próximos passos
Depois que a biblioteca App Check estiver instalada em seu aplicativo, implante-a.
O aplicativo cliente atualizado começará a enviar tokens do App Check junto com todas as solicitações feitas ao Firebase, mas os produtos do Firebase não exigirão que os tokens sejam válidos até que você ative a aplicação na seção App Check do console do Firebase.
Monitore métricas e habilite a aplicação
Antes de ativar a aplicação, no entanto, você deve certificar-se de que isso não interromperá seus usuários legítimos existentes. Por outro lado, se você perceber um uso suspeito dos recursos do seu aplicativo, convém ativar a aplicação mais cedo.
Para ajudar a tomar essa decisão, você pode observar as métricas do App Check para os serviços que você usa:
- Monitore métricas de solicitação do App Check para Realtime Database, Cloud Firestore, Cloud Storage e Authentication (beta).
- Monitore métricas de solicitação do App Check para Cloud Functions .
Ativar a aplicação do App Check
Quando você entender como o App Check afetará seus usuários e estiver pronto para prosseguir, poderá ativar a aplicação do App Check:
- Ative a aplicação do App Check para Realtime Database, Cloud Firestore, Cloud Storage e Authentication (beta).
- Ativar a aplicação do App Check para Cloud Functions .
Use o App Check em ambientes de depuração
Se, depois de registrar seu aplicativo no App Check, você desejar executá-lo em um ambiente que o App Check normalmente não classificaria como válido, como localmente durante o desenvolvimento ou em um ambiente de integração contínua (CI), será possível criar uma compilação de depuração do seu aplicativo que usa 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 em aplicativos da web .