Premiers pas avec App Check et reCAPTCHA Enterprise sur les plates-formes Apple

Sélectionnez une plate-forme : iOS+ Android Web Flutter


Cette page vous explique comment configurer App Check dans une application pour plates-formes Apple à 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 reCAPTCHA basées sur un score, ce qui le rend invisible pour les utilisateurs. Cela signifie que le fournisseur reCAPTCHA Enterprise n'exigera jamais que les utilisateurs répondent à 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

  1. Si ce n'est pas déjà fait, ajoutez Firebase à votre projet Apple.

  2. Dans la console Google Cloud, accédez à la page Fraud Defense, puis procédez comme suit pour le fournisseur reCAPTCHA Enterprise :

    1. Assurez-vous de vous trouver dans le bon projet (voir le sélecteur de projet en haut de l'écran).

    2. Si vous y êtes invité, activez l'API reCAPTCHA Enterprise.

    3. Créez une clé de type iOS et spécifiez l'ID du bundle de votre application (par exemple, com.example.my_app).

      • Veillez à saisir l'ID du bundle que vous avez fourni lorsque vous avez créé votre application Apple Firebase dans votre projet Firebase. La valeur de l'ID du bundle est sensible à la casse.

      • Pour App Check, chaque ID de bundle 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 un score.

    4. Notez cette clé. Vous devrez l'ajouter au flux d'enregistrement dans la console Firebase.

  3. Dans la console Firebase, accédez à Sécurité > App Check.

  4. Dans l'onglet Applications, enregistrez vos applications de la plate-forme Apple pour utiliser App Check avec le fournisseur reCAPTCHA Enterprise. Vous devrez fournir la clé que vous avez obtenue dans la console Google Cloud.

  5. 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 pirate informatique peut utiliser un jeton divulgué ou intercepté.
    • Performances : des valeurs TTL plus courtes signifient que votre application effectuera l'attestation plus fréquemment. Étant donné que le processus d'attestation d'application ajoute de la latence aux requêtes réseau chaque fois qu'il est exécuté, une valeur TTL courte peut avoir un impact sur les performances de votre application.
    • Quota et coût : des TTL plus courts et une réattestation fréquente épuisent votre quota plus rapidement et, pour les services payants, peuvent potentiellement coûter plus cher. 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 la valeur TTL.

  6. Facultatif : Configurez les paramètres avancés.

  7. Cliquez sur Enregistrer.

(Facultatif) Configurer les paramètres avancés

Lorsqu'un utilisateur ouvre votre application, reCAPTCHA Enterprise évalue le niveau de risque que présente l'interaction de l'utilisateur sous la clé 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.

Pour la plupart des cas d'utilisation, nous vous recommandons d'utiliser la valeur de seuil par défaut de 0,5. 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 certaines considérations importantes concernant la configuration du seuil de risque de l'application ci-dessous.

2. Ajouter le SDK App Check à votre application

Utilisez Swift Package Manager (SPM) pour installer et gérer les dépendances Firebase. Si vous utilisez déjà Firebase, assurez-vous que votre package Firebase est de version 12.17.0 ou ultérieure.

  1. Dans Xcode, ouvrez le projet de votre application.

  2. Ajoutez la bibliothèque Firebase :

    1. Accédez à File > Add Packages (Fichier > Ajouter des packages).

    2. Lorsque vous y êtes invité, ajoutez le dépôt du SDK des plates-formes Firebase pour Apple :

      https://github.com/firebase/firebase-ios-sdk
      
    3. Sélectionnez la dernière version du SDK (v12.17.0 ou ultérieure).

    4. Sélectionnez la bibliothèque FirebaseAppCheck.

    5. Cliquez sur Ajouter un package. Xcode résout et télécharge les dépendances.

    6. Lorsque vous y êtes invité, ajoutez la bibliothèque à la cible de votre application.

  3. Ajoutez la bibliothèque reCAPTCHA Enterprise :

    1. Revenez à File > Add Packages (Fichier > Ajouter des packages).

    2. Lorsque vous y êtes invité, ajoutez le dépôt du SDK reCAPTCHA Enterprise :

      https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdk
      
    3. Sélectionnez la bibliothèque RecaptchaEnterprise.

    4. Cliquez sur Ajouter un package. Lorsque vous y êtes invité, ajoutez la bibliothèque à la cible de votre application.

3. Initialiser App Check

Dans votre application, vous devez initialiser App Check avant d'utiliser d'autres services Firebase.

Créez une instance de RecaptchaProviderFactory en transmettant votre clé reCAPTCHA, puis configurez App Check pour l'utiliser :

let providerFactory = RecaptchaProviderFactory(siteKey: "SITE_KEY")
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

4. Surveiller les métriques et activer l'application des règles

Une fois que vous avez configuré App Check dans votre application, commencez à distribuer l'application 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 n'aura pas été 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 examiner les métriques App Check des services que vous utilisez :

Activer l'application de App Check

Lorsque vous comprenez l'impact de App Check sur vos utilisateurs et que vous êtes prêt à continuer, vous pouvez activer l'application de App Check :

Utiliser App Check dans les environnements de débogage

App Check classe certains environnements comme non valides, tels que les requêtes provenant d'un émulateur / simulateur pendant le 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 les plates-formes Apple.

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 1 heure. 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 la valeur TTL du jeton.