Criar chaves reCAPTCHA para apps para dispositivos móveis

As chaves para dispositivos móveis no reCAPTCHA permitem configurar a identidade do aplicativo e os parâmetros de risco para implantações do Android e do iOS. Crie chaves dedicadas para dispositivos móveis para ajudar a proteger a comunicação cliente-servidor e evitar o tráfego automatizado de bots em aplicativos para dispositivos móveis.

As chaves reCAPTCHA representam como o reCAPTCHA é configurado para um aplicativo para dispositivos móveis.

Antes de começar

Criar uma chave reCAPTCHA

Só é possível criar chaves baseadas em pontuação para aplicativos para dispositivos móveis.

Recomendamos o seguinte ao criar chaves reCAPTCHA para aplicativos móveis:

  • Crie uma chave reCAPTCHA para cada aplicativo para dispositivos móveis.
  • Para o Android, crie chaves separadas para os seguintes cenários:

    • O pacote do Android só está disponível na Google Play Store.
    • O pacote do Android só está disponível em app stores que não são da Google Play Store.
  • Crie chaves reCAPTCHA separadas para ambientes de preparo e produção. Caso contrário, você corre o risco de poluir a análise de risco do reCAPTCHA com dados do seu ambiente de teste.

A maneira mais simples de criar uma chave reCAPTCHA é pelo console doGoogle Cloud . Como alternativa, use a API reCAPTCHA Enterprise ou a Google Cloud CLI.

Console

  1. No console do Google Cloud , acesse a página Google Cloud Fraud Defense.

    Acessar o Google Cloud Fraud Defense

  2. Verifique se o nome do projeto aparece no seletor de recursos, na parte superior da página.

    Se você não vir o nome do projeto, clique no seletor de recursos para selecioná-lo.

  3. Selecione a guia Chaves.
  4. Clique em Criar chave.
  5. No campo Nome de exibição, insira um nome de exibição para a chave.
  6. Dependendo do tipo de chave reCAPTCHA que você quer criar para seu aplicativo para dispositivos móveis, execute a ação apropriada:
  7. Criar chaves reCAPTCHA para aplicativos iOS

    Recomendamos criar uma chave reCAPTCHA por aplicativo iOS.

    1. Em Tipo de aplicativo, selecione iOS.
      1. Na seção Lista de ID do pacote do iOS, clique em Adicionar ID do pacote do iOS.
      2. No campo ID do pacote, insira o nome do ID do pacote do iOS.

      3. Opcional: para adicionar outro ID do pacote, clique em Adicionar ID do pacote do iOS e insira o nome do ID do pacote do iOS no campo ID do pacote.
      4. Para proteger a chave reCAPTCHA dos IDs de pacote, verifique se a opção Desativar confirmação de identidade com documento do ID do pacote está desativada. Se você desativar a verificação por documento de identidade do pacote, precisará verificar o campo tokenProperties.iosBundleId nas avaliações criadas.
      5. Opcional: forneça as configurações do desenvolvedor da Apple.

        Recomendamos fornecer esses dados porque eles permitem que o Fraud Defense forneça pontuações de risco mais precisas para seu tráfego.

        Digite as seguintes informações:

        • Chave privada (.p8): é gerada no Apple Centro para Desenvolvedores em "Certificates, Identifiers & Profiles".
        • Identificador de chave: o identificador de chave de desenvolvedor da Apple (string de 10 caracteres).
        • ID da equipe: o ID da equipe da Apple (string de 10 caracteres) que possui o perfil de provisionamento usado para criar o aplicativo.
      6. Opcional: clique em Próxima etapa (opcional).
        1. Para o ambiente de não produção, se você quiser especificar uma pontuação que a chave retorne quando qualquer avaliação for criada para ela, faça o seguinte:

          1. Em Configurações adicionais, clique no botão Você está criando esta chave apenas para fins de teste?.
          2. Use o controle deslizante Definir pontuação para especificar uma pontuação entre 0 e 1,0.
      7. Clique em Criar chave.
      8. A chave recém-criada é listada na página Chaves reCAPTCHA.

    Criar chaves reCAPTCHA para apps Android

    1. Em Tipo de aplicativo, selecione Android.
    2. Na seção Lista de pacote do Android, clique em Adicionar pacote do Android.
    3. No campo pacote do Android, insira o nome do pacote do Android.
    4. (Opcional) Para incluir outro pacote, clique em Adicionar pacote do Android e digite o nome de outro pacote no campo Pacote do Android.
    5. Para garantir que a chave do reCAPTCHA seja usada apenas no seu app, desative a opção Desativar a verificação do nome do pacote. Se você desativar a verificação do nome do pacote, precisará verificar o campo tokenProperties.androidPackageName nas avaliações criadas.
    6. Se você quiser criar uma chave para um aplicativo que está disponível em outras app stores, além da Google Play Store, ative a opção Suporte a aplicativos distribuídos fora da Google Play Store.
    7. Opcional: clique em Próxima etapa (opcional).
      1. Para o ambiente de não produção, se você quiser especificar uma pontuação que a chave retorne quando qualquer avaliação for criada para ela, faça o seguinte:

        1. Em Configurações adicionais, clique no botão Você está criando esta chave apenas para fins de teste?.
        2. Use o controle deslizante Definir pontuação para especificar uma pontuação entre 0 e 1,0.
    8. Clique em Criar chave.
    9. A chave recém-criada é listada na página Chaves reCAPTCHA.

gcloud (iOS)

Para criar chaves reCAPTCHA, use o comando gcloud recaptcha keys create.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • DISPLAY_NAME: nome da chave. Geralmente, um nome de site.
  • BUNDLE_IDs: os IDs do pacote de apps iOS autorizados a usar a chave. Para especificar vários IDs de pacote, use um formato de lista separada por vírgulas.

Execute o comando 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

A resposta contém a chave reCAPTCHA recém-criada.

gcloud (Android)

Para criar chaves reCAPTCHA, use o comando gcloud recaptcha keys create.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • DISPLAY_NAME: nome da chave. Geralmente, um nome de site.
  • PACKAGE_NAMES: nomes de pacotes Android de apps que podem usar a chave. Para especificar vários nomes de pacotes, use um formato de lista separada por vírgulas.

Execute o comando 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

A resposta contém a chave reCAPTCHA recém-criada.

REST (iOS)

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • DISPLAY_NAME: nome da chave. Geralmente, o nome de um app.
  • BUNDLE_IDs: os IDs do pacote de apps iOS autorizados a usar a chave. Para especificar vários IDs de pacote, use um formato de lista separada por vírgulas.

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

  }
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

$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

Você receberá uma resposta JSON semelhante a esta:


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

REST (Android)

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • DISPLAY_NAME: nome da chave. Geralmente, o nome de um app.
  • PACKAGE_NAMES: nomes de pacotes Android de apps que podem usar a chave. Para especificar vários nomes de pacotes, use um formato de lista separada por vírgulas.

Método HTTP e URL:

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

Corpo JSON da solicitação:


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

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:

$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

Você receberá uma resposta JSON semelhante a esta:


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

A seguir