Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

...

Los parámetros requeridos en la solicitud solicitud  de validación son:

  • Secret (site secret key)
  • Response (token)

...

La respuesta, siempre contiene una propiedad “success”, ya sea verdadera o falsa, indicando si la operación fue exitosa o no (Es la que utilizamos para comprobar que el token es válido)

La documentación de cloudflare turnstile está disponible en javascript modular, pero para implementarlo en java nosotros utilizamos la librería Jersey. Los pasos básicos a seguir son:

  • Configuración del cliente HTTP:
    • Se crea una instancia de ClientConfig para configurar el cliente HTTP.
    • Se habilita el mapeo POJO para JSON en la configuración.
  • Creación del cliente HTTP:
    • Se instancia un objeto Client utilizando la configuración previamente definida.
  • Creación del recurso web:
    • Se crea un objeto WebResource apuntando a la URL proporcionada en ${turnstile.url}.
  • Preparación de la solicitud:
    • Se crea un objeto CaptchaRequest que contiene los datos necesarios para la validación del token de captcha.
    • El token recibido como parámetro se establece en el objeto CaptchaRequest.
    • Se proporciona un secreto en el objeto CaptchaRequest obtenido de ${TURNSTILE_SECRET_KEY}.
  • Realización de la solicitud HTTP POST:
    • Se envía una solicitud HTTP POST al servicio web utilizando el objeto webResource.
    • Se configura la solicitud para enviar y recibir datos en formato JSON.

Si la respuesta no es nula y todo ha ido bien (200 OK), entonces obtenemos se deserializa el cuerpo de la respuesta JSON en un objeto CaptchaResponse y devolvemos la propiedad success.

...

Resumen final con esquema general

Info
titleConfiguración de las contraseñas
Es recomendable revisar esta guía para Gestión de Usuarios/Contraseñas de Servicios Externos en los Proyectos


Tambien es preferible usar Componente para Cargar Propiedades y Ficheros de Propiedades en lugar de filtrar la página completa. La propiedad se carga con una expresión EL en la página.