Esta página explica cómo evaluar el token de respuesta reCAPTCHA de un usuario desde el backend de tu aplicación.
Para los usuarios web, puedes obtener el token de respuesta del usuario de una de estas maneras:
- El valor resuelto de la promesa mostrada por la llamada a
grecaptcha.enterprise.execute
g-recaptcha-response
parámetro POST cuando el usuario envía el formulario en tu sitio- Como argumento de string para tu función de devolución de llamada si
data-callback
se especifica en el atributo de etiquetag-recaptcha
, o el parámetro de devolución de llamada en el métodogrecaptcha.enterprise.render
Cada token de respuesta de usuario de reCAPTCHA solo se puede evaluar una vez.
Si necesitas evaluar una acción posterior que realiza el usuario en tu sitio, o si caduca un token antes de que se pueda crear una evaluación, deberás llamar de nuevo a grecaptcha.enterprise.execute()
para generar un token nuevo.
Solicitud a la API
Crea una evaluación mediante el método projects.assessments.create
.
Antes de usar cualquiera de los datos de solicitud siguientes, realiza estos reemplazos:
- project-id: Es el ID del proyecto de GCP.
- token: Token que se muestra a partir de la llamada
grecaptcha.enterprise.execute()
- key: clave reCAPTCHA asociada con el sitio/aplicación
Método HTTP y URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/project-id/assessments
Cuerpo JSON de la solicitud:
{ "event": { "token": "token", "siteKey": "key" } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://recaptchaenterprise.googleapis.com/v1/projects/project-id/assessments
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth application-default 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/assessments" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "tokenProperties": { "valid": true, "hostname": "www.google.com", "action": "homepage", "createTime": "2019-03-28T12:24:17.894Z" }, "riskAnalysis": { "score": 0.1, "reasons": ["AUTOMATION"] }, "event": { "token": "token", "siteKey": "key" }, "name": "projects/project-id/assessments/b6ac310000000000" }
¿Qué sigue?
- Aprende a interpretar una evaluación.