Skip to main content
El servicio web (el módulo login-register) solicita un reCAPTCHA v2 (invisible) en el inicio de sesión por correo electrónico, el inicio de sesión LDAP, el registro y el restablecimiento de contraseña. Crea la clave y consulta qué hace cada ajuste en reCAPTCHA; esta página explica cómo trasladarlo a Kubernetes.

Configuración

1

Clave del sitio en el ConfigMap

La clave del sitio es pública: todas las páginas de inicio de sesión la muestran.
2

Clave secreta y clave del historial de dispositivos en el Secret

Define ambas claves a la vez: con la clave del sitio pero sin la clave secreta, todas las comprobaciones fallan y nadie puede iniciar sesión con contraseña, registrarse ni restablecer una contraseña. DEVICE_HISTORY_SECRET debe tener 64 caracteres hexadecimales; el contenedor no la genera.
3

Aplica y reinicia

Después, comprueba que todos los pods llegan al endpoint. Los pods desisten tras aproximadamente un segundo por intento de conexión, y un inicio de sesión cuya comprobación no se puede realizar falla con un error:

Varias réplicas

Todas las réplicas deben compartir DEVICE_HISTORY_SECRET, lo que ocurre cuando está en el Secret. Con valores distintos, un navegador que superó la comprobación en una réplica volvería a recibir el captcha en otra. Los límites de frecuencia se cuentan en Redis para todas las réplicas.

Probado en Kubernetes

Contra una simulación del endpoint de verificación de Google (de confianza mediante NODE_EXTRA_CA_CERTS desde overleaf-certs), en Kubernetes 1.37, nuestras pruebas de extremo a extremo para reCAPTCHA se superan (13 casos): en una réplica, el inicio de sesión, el registro y el restablecimiento de contraseña rechazados sin captcha o con un captcha fallido y aceptados con uno superado, el historial de dispositivos de DEVICE_HISTORY_SECRET que permite a un navegador saltarse el captcha, y CAPTCHA_TRUSTED_USERS; en tres réplicas detrás de HAProxy, el inicio de sesión LDAP con el captcha.
Última modificación el 2 de noviembre de 2026