Esta página mostra como habilitar o App Check em um aplicativo Flutter, usando os provedores padrão: Play Integrity no Android, Device Check nas plataformas Apple e reCAPTCHA v3 na web. Ao ativar o App Check, você ajuda a garantir que apenas seu aplicativo possa acessar os recursos do Firebase do seu projeto. Veja uma Visão geral deste recurso.
1. Configure seu projeto do Firebase
Instale e inicialize o FlutterFire se ainda não o fez.
Registre seus aplicativos para usar o App Check com os provedores Play Integrity, Device Check e reCAPTCHA na seção Project Settings > App Check do Firebase console.
Normalmente, você precisa registrar todos os aplicativos do seu projeto porque, depois de ativar a aplicação de um produto Firebase, apenas os aplicativos registrados poderão acessar os recursos de back-end do produto.
Opcional : nas configurações de registro do aplicativo, defina um tempo de vida (TTL) personalizado para os tokens do App Check emitidos pelo provedor. Você pode definir o TTL para qualquer valor entre 30 minutos e 7 dias. Ao alterar esse valor, esteja ciente das seguintes compensações:
- Segurança: TTLs mais curtos fornecem segurança mais forte, pois reduzem a janela na qual um token vazado ou interceptado pode ser abusado por um invasor.
- Desempenho: TTLs mais curtos significam que seu aplicativo realizará o atestado com mais frequência. Como o processo de atestado do aplicativo adiciona latência às solicitações de rede sempre que é executado, um TTL curto pode afetar o desempenho do seu aplicativo.
- Cota e custo: TTLs mais curtos e reatestação frequente esgotam sua cota mais rapidamente e, para serviços pagos, podem custar mais. Consulte Cotas e limites .
O TTL padrão é razoável para a maioria dos aplicativos. Observe que a biblioteca App Check atualiza os tokens em aproximadamente metade da duração do TTL.
2. Adicione a biblioteca App Check ao seu aplicativo
Na raiz do seu projeto Flutter, execute o seguinte comando para instalar o plug-in:
flutter pub add firebase_app_check
Depois de concluído, reconstrua seu aplicativo Flutter:
flutter run
3. Inicialize o App Check
Adicione o seguinte código de inicialização ao seu aplicativo para que ele seja executado antes de usar qualquer serviço do Firebase, como Storage, mas depois de chamar Firebase.initializeApp()
;
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
// Import the firebase_app_check plugin
import 'package:firebase_app_check/firebase_app_check.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await FirebaseAppCheck.instance.activate(
webRecaptchaSiteKey: 'recaptcha-v3-site-key',
// Default provider for Android is the Play Integrity provider. You can use the "AndroidProvider" enum to choose
// your preferred provider. Choose from:
// 1. debug provider
// 2. safety net provider
// 3. play integrity provider
androidProvider: AndroidProvider.debug,
);
runApp(App());
}
Próximos passos
Depois que a biblioteca do App Check estiver instalada em seu aplicativo, comece a distribuir o aplicativo atualizado para seus usuários.
O aplicativo cliente atualizado começará a enviar tokens do App Check junto com todas as solicitações feitas ao Firebase, mas os produtos Firebase não exigirão que os tokens sejam válidos até que você ative a aplicação na seção App Check do Firebase console.
Monitore as métricas e ative a aplicação
Antes de habilitar a imposição, no entanto, você deve certificar-se de que isso não atrapalhe seus usuários legítimos existentes. Por outro lado, se você perceber o uso suspeito dos recursos do seu aplicativo, convém ativar a aplicação mais cedo.
Para ajudar a tomar essa decisão, consulte as métricas do App Check para os serviços que você usa:
- Monitore as métricas de solicitação do App Check para Realtime Database, Cloud Firestore e Cloud Storage.
- Monitore as métricas de solicitação do App Check para o Cloud Functions .
Ativar a aplicação do App Check
Quando você entender como o App Check afetará seus usuários e estiver pronto para continuar, poderá ativar a aplicação do App Check:
- Ative a aplicação do App Check para Realtime Database, Cloud Firestore e Cloud Storage.
- Ative a aplicação do App Check para o Cloud Functions .
Use o App Check em ambientes de depuração
Se, depois de registrar seu aplicativo para o 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 um ambiente de integração contínua (CI), você pode crie uma compilação de depuração do seu aplicativo que use o provedor de depuração do App Check em vez de um provedor de atestado real.
Consulte Use App Check com o provedor de depuração em aplicativos Flutter .