Esta página mostra como ativar o App Check em um app da Web usando seu provedor App Check personalizado. 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 App Check com um dos provedores integrados, consulte a documentação sobre App Check com o reCAPTCHA Enterprise.
Antes de começar
Adicione o Firebase ao seu projeto em JavaScript, caso ainda não tenha feito isso.
Implemente a lógica do lado do servidor do provedor App Check personalizado.
1. Adicionar a biblioteca App Check ao app
Adicione o Firebase ao seu app da Web, caso ainda não tenha feito isso. Importe a biblioteca App Check.
2. Criar o objeto de provedor App Check
Crie um objeto de provedor App Check para o provedor personalizado. Esse objeto
precisa ter um método getToken()
, que coleta todas as informações exigidas pelo provedor
App Check personalizado como prova de autenticidade e as envia ao
serviço de aquisição de tokens em troca de um token App Check. O
SDK App Check lida com o armazenamento em cache de tokens. Portanto, sempre use um novo token na
implementação do getToken()
.
Web
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); }); } });
Web
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. Inicializar o App Check
Adicione o seguinte código de inicialização ao seu app antes de acessar os serviços do Firebase:
Web
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 });
Web
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óximas etapas
Implante a biblioteca App Check depois que ela for instalada no seu app.
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:
- Monitore as métricas de solicitações App Check para Realtime Database, Cloud Firestore, Cloud Storage, Authentication (Beta) e Vertex AI in Firebase.
- Monitore as métricas de solicitação do App Check para Cloud Functions.
Ativar a aplicação App Check
Assim que você entender como o App Check vai afetar seus usuários e estiver tudo pronto para prosseguir, ative a aplicação obrigatória do App Check:
- Ative a aplicação de App Check para Realtime Database, Cloud Firestore, Cloud Storage, Authentication (Beta) e Vertex AI in Firebase.
- Ative a aplicação de App Check para Cloud Functions.
Usar App Check em ambientes de depuração
Se, depois de registrar seu aplicativo no App Check, você quiser executá-lo em um ambiente em que o App Check normalmente não seria classificado como válido, como localmente, durante o desenvolvimento ou em uma integração contínua (CI), crie 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 App Check com o provedor de depuração em apps da Web.