Une fois que vous avez activé App Check pour votre application, celle-ci ne s'exécute normalement pas dans un émulateur ni à partir d'un environnement d'intégration continue (CI), car ces environnements ne sont pas considérés comme des appareils valides. Si vous souhaitez exécuter votre application dans un tel environnement pendant le développement et les tests, vous pouvez créer un build de débogage de votre application qui utilise le fournisseur de débogage App Check au lieu d'un véritable fournisseur d'attestation.
Plates-formes Apple
Pour utiliser le fournisseur de débogage lorsque vous exécutez votre application de manière interactive dans un simulateur (lors du développement, par exemple), procédez comme suit:
Activez App Check avec le fournisseur de débogage juste après avoir initialisé votre application Firebase :
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( // Set appleProvider to `AppleProvider.debug` appleProvider: AppleProvider.debug, ); runApp(App()); }
Activez la journalisation de débogage dans votre projet Xcode (version 11.0 ou ultérieure) :
- Ouvrez Product > Scheme > Edit scheme (Produit > Schéma > Modifier le schéma).
- Sélectionnez Exécuter dans le menu de gauche, puis l'onglet Arguments.
- Dans la section Arguments transmis au lancement, ajoutez
-FIRDebugEnabled
.
Ouvrez
ios/Runner.xcworkspace
avec Xcode et exécutez votre application dans le simulateur. Votre application imprime un jeton de débogage local dans la sortie de débogage lorsque Firebase tente d'envoyer une requête au backend. Exemple :Firebase App Check Debug Token: 123a4567-b89c-12d3-e456-789012345678
Dans la section App Check de la console Firebase, sélectionnez Gérer les jetons de débogage dans le menu à développer de votre application. Enregistrez ensuite le jeton de débogage que vous avez enregistré à l'étape précédente.
Une fois le jeton enregistré, les services backend Firebase l'accepteront comme valide.
Étant donné que ce jeton permet d'accéder à vos ressources Firebase sans appareil valide, vous devez le garder privé. Ne l'ajoutez pas à un dépôt public. Si un jeton enregistré est compromis, révoquez-le immédiatement dans la console Firebase.
Android
Pour utiliser le fournisseur de débogage lorsque vous exécutez votre application Flutter dans un environnement Android, implémentez le code suivant dans votre application Flutter :
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',
// Set androidProvider to `AndroidProvider.debug`
androidProvider: AndroidProvider.debug,
);
runApp(App());
}
Votre application imprime un jeton de débogage local dans la sortie de débogage lorsque Firebase tente d'envoyer une requête au backend. Exemple :
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
Dans la section App Check de la console Firebase, sélectionnez Gérer les jetons de débogage dans le menu à développer de votre application. Enregistrez ensuite le jeton de débogage que vous avez enregistré à l'étape précédente.
Une fois le jeton enregistré, les services backend Firebase l'accepteront comme valide.
Web
Pour utiliser le fournisseur de débogage lors de l'exécution de votre application à partir de localhost
(lors du développement, par exemple), procédez comme suit:
Dans le fichier
web/index.html
, activez le mode débogage en définissantself.FIREBASE_APPCHECK_DEBUG_TOKEN
surtrue
:<body> <script> self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; </script> ... </body>
Exécutez votre application Web localement et ouvrez l'outil pour les développeurs du navigateur. Dans la console de débogage, vous verrez un jeton de débogage :
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.
Ce jeton est stocké localement dans votre navigateur et sera utilisé chaque fois que vous utiliserez votre application dans le même navigateur et sur la même machine. Si vous souhaitez utiliser le jeton dans un autre navigateur ou sur une autre machine, définissez
self.FIREBASE_APPCHECK_DEBUG_TOKEN
sur la chaîne de jeton au lieu detrue
.Dans la section App Check de la console Firebase, sélectionnez Gérer les jetons de débogage dans le menu à développer de votre application. Enregistrez ensuite le jeton de débogage que vous avez enregistré à l'étape précédente.
Une fois le jeton enregistré, les services backend Firebase l'accepteront comme valide.
Étant donné que ce jeton permet d'accéder à vos ressources Firebase sans appareil valide, vous devez le garder privé. N'effectuez pas de commit dans un dépôt public. Si un jeton enregistré est compromis, révoquez-le immédiatement dans la console Firebase.