Uma API de resolução de reCAPTCHA é diferente de siteverify

Por solvethree3 min de leitura

Não — o endpoint siteverify do Google não pode emitir um token de resposta reCAPTCHA. Ele valida um token fornecido por um cliente. As avaliações Enterprise também avaliam um token existente; nenhum dos endpoints gera um token a partir de uma chave de site.

Nesta página

Escolha a API para o que você precisa fazer

Geração e verificação de tokens são operações diferentes.
Geração e verificação de tokens são operações diferentes.
APIO que você forneceO que você recebe
Google siteverifyUm token de resposta existenteUm resultado de verificação
Avaliações Enterprise do GoogleUm token de resposta existenteUma avaliação desse token
Tarefas do solvethreeHostname de um site compatível, ação e configuração de proxyUma tarefa cujo resultado pronto contém um token de solução

No fluxo do reCAPTCHA v3 do Google, o SDK cliente gera um token de resposta, e o backend do proprietário do site o valida com siteverify. No fluxo Enterprise, o SDK cliente gera o token, e o backend cria uma avaliação.

Se você está adicionando verificação a um site seu, use o fluxo adequado do Google. Se precisar de um serviço de resolução para um destino compatível, use a API de tarefas do solvethree. O serviço de resolução fornece um token para o destino avaliar; ele não substitui a verificação do destino.

Como é uma solicitação real de resolução

Primeiro, confirme que o site de destino tem um perfil ativo disponível para seu workspace. Enviar um hostname e uma ação não cria um perfil. Consulte a configuração do perfil do site se esse pré-requisito ainda não foi atendido.

Crie a tarefa com POST /v1/tasks na API do solvethree, usando Authorization: Bearer seguido da chave de API do seu workspace. Mantenha essa chave no servidor.

reCAPTCHA Enterprise · estrutura da requisição
{
  "site": "accounts.example.com",
  "action": "login",
  "proxy": "http://user:[email protected]:8080",
  "requestId": "example_login_001"
}

Substitua o hostname, a ação e o proxy do exemplo pelos valores da sua solicitação ao destino. site é um hostname, não uma URL completa. As solicitações de reCAPTCHA exigem exatamente um dos campos proxy ou proxyCandidates; não adicione type nem url. Este exemplo usa o recaptchaType padrão, enterprise-v3; o gateway também aceita v3.

Consulte a tarefa com GET /v1/tasks/:id. Continue consultando enquanto o status for pending ou solving. Apenas ready contém uma solução utilizável. Se o status mudar para failed, pare de consultar e verifique errorCode e error.

Não gaste um token Enterprise em uma avaliação de teste

A documentação do Google informa que os tokens de resposta de sites do Enterprise expiram após dois minutos e só podem ser avaliados uma vez. Solicite a resolução próximo do momento da solicitação protegida. Criar uma avaliação apenas para verificar se o token funciona pode consumi-lo antes que o destino pretendido o utilize.

Envie solution.token ao destino pretendido, não o ID da tarefa. Use a identidade do navegador retornada em userAgent e secChUa, junto com o proxy que funcionou durante a resolução. Trocar de proxy ou misturar cabeçalhos de navegador não relacionados pode fazer a solicitação seguinte falhar.

Uma tarefa com status ready significa que há uma solução disponível, não que o destino aceitou a solicitação da sua aplicação. Determine a aceitação pela resposta do destino, não pela criação da tarefa nem pelo status de prontidão.

Execute sua primeira tarefa.

Comece com $5 em créditos no espaço de trabalho.

Criar um espaço de trabalho
Uma API de resolução de reCAPTCHA é diferente de siteverify · solvethree