| Sélectionnez une plate-forme : | iOS+ Android Web Flutter |
Cette page vous explique comment configurer App Check dans une application Android à l'aide du fournisseur reCAPTCHA Enterprise. App Check permet de s'assurer que seule votre application peut accéder aux ressources de backend de votre projet. Pour en savoir plus, consultez notre présentation de App Check.
App Check nécessite l'utilisation de clés basées sur le score reCAPTCHA, ce qui le rend invisible pour les utilisateurs. Cela signifie que le fournisseur reCAPTCHA Enterprise n'exigera jamais des utilisateurs qu'ils résolvent un challenge.
Si votre cas d'utilisation nécessite des fonctionnalités reCAPTCHA Enterprise non implémentées par App Check ou si vous souhaitez utiliser App Check avec votre propre fournisseur personnalisé, consultez Implémenter un fournisseur App Check personnalisé.
1. Configurer votre projet Firebase
Si ce n'est pas déjà fait, ajoutez Firebase à votre projet Android.
Dans la consoleGoogle Cloud, accédez à la page Fraud Defense, puis procédez comme suit pour le provider reCAPTCHA Enterprise :
Assurez-vous d'être dans le bon projet (voir le sélecteur de projets en haut de l'écran).
Si vous y êtes invité, activez l'API reCAPTCHA Enterprise.
Créez une clé de type Android et spécifiez le nom du package de votre application (par exemple,
com.example.my_app).Assurez-vous de saisir le même nom de package que celui que vous avez fourni lorsque vous avez créé votre application Android Firebase dans votre projet Firebase. La valeur du nom du package est sensible à la casse.
Pour App Check, chaque nom de package ne peut correspondre qu'à une seule clé reCAPTCHA.
Pour obtenir des instructions détaillées, consultez Créer des clés reCAPTCHA basées sur le score.
Notez cette clé. Vous devrez l'ajouter au flux d'enregistrement dans la console Firebase.
Dans la consoleFirebase, accédez à Sécurité > App Check.
Dans l'onglet Applications, enregistrez vos applications Android pour utiliser App Check avec le fournisseur reCAPTCHA Enterprise. Vous devrez fournir la clé que vous avez obtenue dans la console Google Cloud.
Facultatif : Définissez la valeur TTL (Time to Live) du jeton.
Dans les paramètres d'enregistrement de l'application, définissez une valeur TTL (Time To Live) personnalisée pour les jetons App Check émis par le fournisseur. Vous pouvez définir la valeur TTL sur n'importe quelle valeur comprise entre 30 minutes et 7 jours. Lorsque vous modifiez cette valeur, tenez compte des compromis suivants :
- Sécurité : des valeurs TTL plus courtes offrent une sécurité renforcée, car elles réduisent la période pendant laquelle un jeton divulgué ou intercepté peut être utilisé à des fins malveillantes par un pirate informatique.
- Performances : des valeurs TTL plus courtes signifient que votre application effectuera l'attestation plus fréquemment. Étant donné que le processus d'attestation de l'application ajoute de la latence aux requêtes réseau chaque fois qu'il est effectué, un TTL court peut avoir un impact sur les performances de votre application.
- Quota et coût : des TTL plus courts et une re-certification fréquente épuisent votre quota plus rapidement et peuvent entraîner des coûts plus élevés pour les services payants. Consultez la page Quotas et limites.
La valeur TTL par défaut de 1 heure est raisonnable pour la plupart des applications. Notez que la bibliothèque App Check actualise les jetons à environ la moitié de la durée de vie (TTL).
Facultatif : Configurez les paramètres avancés.
Cliquez sur Enregistrer.
(Facultatif) Configurer les paramètres avancés
Lorsqu'un utilisateur ouvre votre application, reCAPTCHA Enterprise évalue le niveau de risque de l'interaction de l'utilisateur sous les poses clés et renvoie un score compris entre 0,0 et 1,0, par incréments de 0,1.
- Un score de 0,0 indique que l'interaction présente un risque élevé et peut être frauduleuse.
- Un score de 1,0 indique que l'interaction présente un risque faible et est très certainement légitime.
App Check vous permet de configurer un seuil de risque d'application afin d'ajuster votre tolérance à ce risque.
Dans la plupart des cas d'utilisation, la valeur de seuil par défaut de 0,5 est recommandée. Si votre cas d'utilisation nécessite un ajustement, vous pouvez configurer cette valeur pour chacune de vos applications dans la console Firebase (accédez à Sécurité > App Check). Veillez à développer et à examiner quelques points importants à prendre en compte concernant la configuration du seuil de risque des applications ci-dessous.
2. Ajouter le SDK App Check à votre application
Pour utiliser le fournisseur reCAPTCHA Enterprise, vous devez ajouter la dépendance correspondante.
<0x0<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradleApp CheckreCAPTCHA Nous vous recommandons d'utiliser Firebase Android BoM pour contrôler la gestion des versions de la bibliothèque.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.19.0")) // Add the dependency for the App Check reCAPTCHA library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-recaptcha") }
En utilisant la Firebase Android BoM, votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.
(Alternative) Ajoutez les dépendances de la bibliothèque Firebase sans utiliser BoM.
Si vous choisissez de ne pas utiliser Firebase BoM, vous devez spécifier la version de chaque bibliothèque Firebase sur sa ligne de dépendance.
Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons vivement d'utiliser BoM pour gérer les versions des bibliothèques, ce qui garantit que toutes les versions sont compatibles.
dependencies { // Add the dependency for the App Check reCAPTCHA library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-recaptcha:19.2.1") }
3. Initialiser App Check
Dans votre application, vous devez initialiser App Check avant d'utiliser d'autres services Firebase.
Kotlin
Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY")
)
Java
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY"));
4. Surveiller les métriques et activer l'application
Une fois que vous avez configuré App Check dans votre application, commencez à distribuer la version mise à jour à vos utilisateurs.
L'application cliente mise à jour commencera à envoyer des jetons App Check avec chaque requête qu'elle envoie à Firebase. Toutefois, App Check ne bloquera pas les requêtes avec des jetons non valides tant que App Check ne sera pas appliqué.
Surveiller les métriques
Avant d'activer la mesure d'application, assurez-vous que cela ne perturbera pas vos utilisateurs légitimes existants. Toutefois, si vous constatez une utilisation suspecte des ressources de votre application, vous pouvez activer l'application plus tôt.
Pour vous aider à prendre cette décision, vous pouvez consulter les métriques App Check pour les services que vous utilisez :
- Surveillez les métriques des requêtes App Check pour Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity pour iOS, l'API Maps JavaScript et l'API Places (nouveau).
- Surveillez les métriques des requêtes App Check pour Cloud Functions.
Activer l'application des règles App Check
Une fois que vous avez compris l'impact de App Check sur vos utilisateurs et que vous êtes prêt à continuer, vous pouvez activer l'application de App Check :
- Activez l'application de App Check pour Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity pour iOS, l'API Maps JavaScript et l'API Places (nouveau).
- Activez l'application de App Check pour Cloud Functions.
Utiliser App Check dans les environnements de débogage
App Check classe certains environnements comme non valides, par exemple les requêtes provenant d'un émulateur / simulateur lors du développement ou d'un environnement d'intégration continue (CI).
Pour exécuter votre application dans ces types d'environnements après l'application de App Check, vous devez créer une version de débogage de votre application qui utilise le fournisseur de débogage App Check au lieu d'un fournisseur d'attestation de production.
Pour en savoir plus, consultez Utiliser App Check avec le fournisseur de débogage sur Android.
Tarifs
App Check crée une évaluation en votre nom pour valider le jeton de réponse de l'utilisateur chaque fois que votre application actualise son jeton App Check. Votre projet Firebase sera facturé pour chaque évaluation créée au-delà du quota sans frais. Pour en savoir plus, consultez les tarifs de reCAPTCHA.
Par défaut, votre application actualise ce jeton deux fois toutes les heures. Pour contrôler la fréquence à laquelle votre application actualise les jetons App Check (et donc la fréquence à laquelle de nouvelles évaluations sont créées), vous pouvez configurer le TTL des jetons.