Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Premiers pas avec App Check avec reCAPTCHA Enterprise dans les applications Web

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Cette page vous montre comment activer App Check dans une application Web, à l'aide du fournisseur reCAPTCHA Enterprise. Lorsque vous activez App Check, vous vous assurez que seule votre application peut accéder aux ressources Firebase de votre projet. Voir un aperçu de cette fonctionnalité.

reCAPTCHA Enterprise est un service payant avec un quota sans frais. App Check prend également en charge reCAPTCHA v3 , un service gratuit. Pour connaître les différences entre reCAPTCHA v3 et reCAPTCHA Enterprise, consultez la comparaison des fonctionnalités .

Notez qu'App Check utilise des clés de site basées sur le score de reCAPTCHA Enterprise, ce qui le rend invisible pour les utilisateurs. Le fournisseur reCAPTCHA Enterprise n'exigera pas que les utilisateurs résolvent un défi à tout moment.

Si vous souhaitez utiliser App Check avec votre propre fournisseur personnalisé, consultez Implémenter un fournisseur App Check personnalisé .

1. Configurez votre projet Firebase

  1. Ajoutez Firebase à votre projet JavaScript si vous ne l'avez pas déjà fait.

  2. Ouvrez la section reCAPTCHA Enterprise de la console cloud et procédez comme suit :

    1. Si vous êtes invité à activer l'API reCAPTCHA Enterprise, faites-le.
    2. Créez une clé de type Site Web . Vous devrez spécifier les domaines sur lesquels vous hébergez votre application Web. Laissez l'option "Utiliser le défi de la case à cocher" décochée .
  3. Enregistrez vos applications pour utiliser App Check auprès du fournisseur reCAPTCHA Enterprise dans la section App Check de la console Firebase. Vous devrez fournir la clé de site que vous avez obtenue à l'étape précédente.

    Vous devez généralement enregistrer toutes les applications de votre projet, car une fois que vous avez activé l'application pour un produit Firebase, seules les applications enregistrées pourront accéder aux ressources principales du produit.

  4. Facultatif : dans les paramètres d'enregistrement de l'application, définissez une durée de vie (TTL) personnalisée pour les jetons App Check émis par le fournisseur. Vous pouvez définir le 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 durées de vie plus courtes offrent une sécurité renforcée, car elles réduisent la fenêtre dans laquelle un jeton divulgué ou intercepté peut être abusé par un attaquant.
    • Performances : des durées de vie plus courtes signifient que votre application effectuera des attestations plus fréquemment. Étant donné que le processus d'attestation d'application ajoute de la latence aux demandes réseau à chaque fois qu'il est exécuté, une durée de vie courte peut avoir un impact sur les performances de votre application.
    • Quota et coût : des durées de vie plus courtes et des réattestations fréquentes épuisent votre quota plus rapidement et, pour les services payants, coûtent potentiellement plus cher. Voir Quotas et limites .

    Le 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 TTL.

2. Ajoutez la bibliothèque App Check à votre application

Ajoutez Firebase à votre application Web si vous ne l'avez pas déjà fait. Assurez-vous d'importer la bibliothèque App Check.

3. Initialiser App Check

Ajoutez le code d'initialisation suivant à votre application avant d'accéder aux services Firebase. Vous devrez transmettre votre clé de site reCAPTCHA Enterprise, que vous avez créée dans la console Cloud, à activate() .

Web version 9

const { initializeApp } = require("firebase/app");
const { initializeAppCheck, ReCaptchaEnterpriseProvider } = require("firebase/app-check");

const app = initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to initializeAppCheck().
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaEnterpriseProvider(/* reCAPTCHA Enterprise site key */),
  isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh.
});

Web version 8

firebase.initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to activate().
const appCheck = firebase.appCheck();
appCheck.activate(
  new firebase.appCheck.ReCaptchaEnterpriseProvider(
    /* reCAPTCHA Enterprise site key */
  ),
  true // Set to true to allow auto-refresh.
);

Prochaines étapes

Une fois la bibliothèque App Check installée dans votre application, déployez-la.

L'application cliente mise à jour commencera à envoyer des jetons App Check avec chaque demande qu'elle adresse à Firebase, mais les produits Firebase n'exigeront pas que les jetons soient valides tant que vous n'aurez pas activé l'application dans la section App Check de la console Firebase.

Surveiller les métriques et activer l'application

Avant d'activer l'application, cependant, vous devez vous assurer que cela ne perturbera pas vos utilisateurs légitimes existants. D'autre part, si vous constatez une utilisation suspecte des ressources de votre application, vous souhaiterez peut-être activer l'application plus tôt.

Pour vous aider à prendre cette décision, vous pouvez consulter les statistiques d'App Check pour les services que vous utilisez :

Activer l'application de la vérification des applications

Lorsque vous comprenez comment App Check affectera vos utilisateurs et que vous êtes prêt à continuer, vous pouvez activer l'application d'App Check :

Utiliser App Check dans les environnements de débogage

Si, après avoir enregistré votre application pour App Check, vous souhaitez exécuter votre application dans un environnement qu'App Check ne classerait normalement pas comme valide, comme localement pendant le développement ou à partir d'un environnement d'intégration continue (CI), vous pouvez créer une version de débogage de votre application qui utilise le fournisseur de débogage App Check au lieu d'un véritable fournisseur d'attestation.

Voir Utiliser App Check avec le fournisseur de débogage dans les applications Web .

Remarque sur le coût

App Check crée une évaluation en votre nom pour valider le jeton de réponse de l'utilisateur chaque fois qu'un navigateur exécutant votre application Web actualise son jeton App Check. Votre projet sera facturé pour chaque évaluation créée au-delà du quota sans frais. Voir les tarifs de reCAPTCHA Enterprise pour plus de détails.

Par défaut, votre application Web actualisera 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), configurez leur TTL .