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 dans vos applications mobiles.

Les clés reCAPTCHA représentent la configuration de reCAPTCHA 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.

Lorsque vous créez des clés reCAPTCHA pour des applications mobiles, nous vous recommandons de procéder comme suit:

  • 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 autres que le Google Play Store.
  • Créer 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 des données provenant de votre environnement de test.

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

Console

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

    Accéder à reCAPTCHA

  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 iOS, cliquez sur Ajouter un ID de bundle iOS et saisissez le nom de votre ID de bundle iOS dans le champ ID de bundle.
      4. (Facultatif) Spécifiez les paramètres Apple Developer.

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

        Saisissez les informations suivantes :

        • Clé privée (.p8): elle est générée dans l'Apple Developer Center sous "Certificates, Identifiers & Profiles" (Certificats, identifiants et profils).
        • Identifiant de clé: l'identifiant de la 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 la section Validation de l'ID de bundle et type de clé.
        1. Pour protéger la clé reCAPTCHA pour 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 lorsqu'une évaluation est créée 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, indiquez un score compris entre 0 et 1.
      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 s'assurer que la clé reCAPTCHA n'est utilisée que dans votre application, désactivez l'option Désactiver la validation du nom de package.
      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 Accepter 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 lorsqu'une évaluation est créée 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, indiquez un score compris entre 0 et 1.
    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 des packages 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 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 requête, effectuez les remplacements suivants:

  • DISPLAY_NAME: nom de la clé. Généralement un nom d'application.
  • PACKAGE_NAMES: noms des packages 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