Créer des clés reCAPTCHA pour les applications mobiles

Cette page explique comment créer des clés reCAPTCHA (également appelées clés) pour vérifier les interactions des utilisateurs sur vos applications mobiles.

Les clés reCAPTCHA représentent la configuration de reCAPTCHA Enterprise pour une application mobile.

Avant de commencer

Créer une clé reCAPTCHA

Vous ne pouvez créer que des clés basées sur des scores pour les applications mobiles.

Nous vous recommandons de procéder comme suit lorsque vous créez des clés reCAPTCHA pour les applications mobiles:

  • Créez une clé reCAPTCHA pour chaque application mobile.
  • Pour Android, créez des clés distinctes pour les scénarios suivants:

    • Le package Android n'est disponible que sur le Google Play Store.
    • Le package Android n'est disponible que sur les plates-formes de téléchargement d'applications n'appartenant pas au Google Play Store.
  • Créez des clés reCAPTCHA distinctes pour les environnements de préproduction et de production. Sinon, vous risquez de polluer l'analyse des risques reCAPTCHA avec les données de votre environnement de test.

Le moyen le plus simple de créer une clé reCAPTCHA est d'utiliser la console Google Cloud. Vous pouvez également utiliser l'API reCAPTCHA Enterprise ou Google Cloud CLI.

Console

  1. Dans la console Google Cloud, accédez à la page reCAPTCHA Enterprise.

    Accéder à la page reCAPTCHA Enterprise

  2. Vérifiez que le nom de votre projet s'affiche dans le sélecteur de projet en haut de la page.

    Si le nom de votre nouveau projet n'apparaît pas, cliquez sur le sélecteur de projet, puis sélectionnez votre projet.

  3. Cliquez sur Créer une clé.

  4. Dans le champ Nom à afficher, saisissez un nom à afficher pour la clé.
  5. Selon le type de clé reCAPTCHA que vous souhaitez créer pour votre application mobile, effectuez l'action appropriée:
  6. Créer des clés reCAPTCHA pour les applications iOS

    Nous vous recommandons de créer une clé reCAPTCHA par application iOS.

    1. Dans le menu Sélectionner un type de plate-forme, sélectionnez Application iOS.
      1. Dans la section Liste des ID de bundle iOS, cliquez sur Ajouter un ID de bundle iOS.
      2. Dans le champ ID du bundle, saisissez le nom de votre ID de bundle iOS.

      3. Facultatif: Pour ajouter un ID de bundle supplémentaire, cliquez sur Ajouter un ID de bundle iOS, puis saisissez le nom de votre ID de bundle iOS dans le champ ID du bundle.
      4. (Facultatif) Indiquez les paramètres Apple Developer.

        Nous vous recommandons de fournir ces données, car elles permettent à reCAPTCHA Enterprise de fournir des scores de risque plus précis pour votre trafic.

        Saisissez les informations suivantes :

        • Clé privée (.p8): générée dans l'Apple Developer Center sous Certificates, Identifiers & Profiles (Certificats, identifiants et profils).
        • Identifiant de clé: identifiant de clé de développeur Apple (chaîne de 10 caractères).
        • ID d'équipe: ID d'équipe Apple (chaîne de 10 caractères) propriétaire du profil de provisionnement utilisé pour créer votre application.
      5. Développez Validation de l'ID de bundle et type de clé.
        1. Pour protéger la clé reCAPTCHA de vos ID de bundle, assurez-vous que l'option Désactiver la validation de l'ID de bundle est désactivée.
        2. Pour votre environnement hors production, si vous souhaitez spécifier un score que la clé doit renvoyer lorsque des évaluations sont créées pour celui-ci, procédez comme suit:

          1. Cliquez sur le bouton Il s'agit d'une clé de test.
          2. Dans le champ Score, spécifiez un score compris entre 0 et 1.0.
      6. Cliquez sur Créer une clé.
      7. La nouvelle clé est répertoriée sur la page Clés reCAPTCHA.

    Créer des clés reCAPTCHA pour les applications Android

    1. Dans le menu Sélectionner un type de plate-forme, sélectionnez Application Android.
    2. Dans la section Liste de packages Android, cliquez sur Ajouter un package Android.
    3. Dans le champ Package Android, saisissez le nom de votre package Android.

    4. Facultatif : pour ajouter un package supplémentaire, cliquez sur Ajouter un package Android et saisissez le nom d'un autre package Android dans le champ Package Android.
    5. Développez Validation du nom de package, distribution d'applications et clés de test.
      1. Pour forcer l'utilisation de la clé reCAPTCHA dans votre application, désactivez l'option Désactiver la validation du nom des packages.
      2. Si vous souhaitez créer une clé pour une application disponible sur d'autres plates-formes de téléchargement d'applications en plus du Google Play Store, activez l'option Prendre en charge les applications distribuées en dehors du Google Play Store.
      3. Pour votre environnement hors production, si vous souhaitez spécifier un score que la clé doit renvoyer lorsque des évaluations sont créées pour celui-ci, procédez comme suit:

        1. Cliquez sur le bouton Il s'agit d'une clé de test.
        2. Dans le champ Score, spécifiez un score compris entre 0 et 1.0.
    6. Cliquez sur Créer une clé.
    7. La nouvelle clé est répertoriée sur la page Clés reCAPTCHA.

gcloud (iOS)

Pour créer des clés reCAPTCHA, utilisez la commande gcloud recaptcha keys create.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • DISPLAY_NAME: nom de la clé. Généralement un nom de site.
  • BUNDLE_IDs : ID de bundle iOS des applications autorisées à utiliser la clé. Spécifiez plusieurs ID de bundle sous la forme d'une liste d'éléments séparés par une virgule.

Exécutez la commande gcloud recaptcha keys create:

Linux, macOS ou Cloud Shell


gcloud recaptcha keys create \
--display-name=DISPLAY_NAME  \
--ios --bundle-ids=BUNDLE_IDs

Windows (PowerShell)


gcloud recaptcha keys create `
--display-name=DISPLAY_NAME  `
--ios --bundle-ids=BUNDLE_IDs

Windows (cmd.exe)


gcloud recaptcha keys create ^
--display-name=DISPLAY_NAME  ^
--ios --bundle-ids=BUNDLE_IDs

La réponse contient la clé reCAPTCHA que vous venez de créer.

gcloud (Android)

Pour créer des clés reCAPTCHA, utilisez la commande gcloud recaptcha keys create.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • DISPLAY_NAME: nom de la clé. Généralement un nom de site.
  • PACKAGE_NAMES: noms de package Android des applications autorisées à utiliser la clé. Spécifiez plusieurs noms de packages sous la forme d'une liste d'éléments séparés par une virgule.

Exécutez la commande gcloud recaptcha keys create:

Linux, macOS ou Cloud Shell


gcloud recaptcha keys create \
--display-name=DISPLAY_NAME  \
--android --package-names=PACKAGE_NAMES

Windows (PowerShell)


gcloud recaptcha keys create `
--display-name=DISPLAY_NAME  `
--android --package-names=PACKAGE_NAMES

Windows (cmd.exe)


gcloud recaptcha keys create ^
--display-name=DISPLAY_NAME  ^
--android --package-names=PACKAGE_NAMES

La réponse contient la clé reCAPTCHA que vous venez de créer.

REST (iOS)

Avant d'utiliser les données de la requête, effectuez les remplacements suivants:

  • DISPLAY_NAME: nom de la clé. Généralement un nom d'application.
  • BUNDLE_IDs : ID de bundle iOS des applications autorisées à utiliser la clé. Spécifiez plusieurs ID de bundle sous la forme d'une liste d'éléments séparés par une virgule.

Méthode HTTP et URL :

POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

Corps JSON de la requête :

{
  "displayName": "DISPLAY_NAME",
  "iosSettings": {
   "allowedBundleIds":"BUNDLE_IDs"

  }
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON de ce type :


{
  "name": "projects/project-id/keys/6LfhtywnAAAAABY3sCS2duZ6A55kmDXz-PNEgKgT",
  "displayName": "DISPLAY_NAME",
  "iosSettings": {
    "allowAllBundleIds": false,
    "allowedBundleIds": [
        BUNDLE_IDS
    ]
  },
  "labels": {},
}

REST (Android)

Avant d'utiliser les données de la requête, effectuez les remplacements suivants:

  • DISPLAY_NAME: nom de la clé. Généralement un nom d'application.
  • PACKAGE_NAMES: noms de package Android des applications autorisées à utiliser la clé. Spécifiez plusieurs noms de packages sous la forme d'une liste d'éléments séparés par une virgule.

Méthode HTTP et URL :

POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

Corps JSON de la requête :


{
  "displayName": "DISPLAY_NAME",
  "androidSettings": {
  "allowedPackageNames":"PACKAGE_NAMES"
  }
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON de ce type :


{
  "name": "projects/project-id/keys/6LcioSknAAAAABrjlMuZv2fjIGYMqwaAFC9izhoy",
  "displayName": "DISPLAY_NAME",
  "androidSettings": {
      "allowAllPackageNames": false,
      "allowedPackageNames": [
          PACKAGE_NAMES
      ],
      "supportNonGoogleAppStoreDistribution": false
  },
  "labels": {},
}

Étapes suivantes