Skip to main content
Служба web (модуль login-register) запитує reCAPTCHA v2 (невидиму) під час входу за електронною поштою, входу через LDAP, реєстрації та скидання пароля. Створіть ключ і прочитайте, що робить кожен параметр, у розділі reCAPTCHA; ця сторінка описує, як перенести це в Kubernetes.

Конфігурація

1

Ключ сайту в ConfigMap

Ключ сайту публічний: його показує кожна сторінка входу.
2

Секретний ключ і ключ історії пристроїв у Secret

Задавайте обидва ключі разом: із ключем сайту, але без секретного ключа кожна перевірка не вдається, і ніхто не може ввійти з паролем, зареєструватися чи скинути пароль. DEVICE_HISTORY_SECRET має складатися з 64 шістнадцяткових символів; контейнер не генерує його.
3

Застосуйте й перезапустіть

Потім перевірте, що кожен под має доступ до кінцевої точки. Поди припиняють спробу приблизно через одну секунду на кожну спробу з’єднання, а вхід, перевірку якого не вдалося виконати, завершується помилкою:

Кілька реплік

Усі репліки мають спільно використовувати DEVICE_HISTORY_SECRET, що й відбувається, коли він міститься в Secret. З різними значеннями браузер, який пройшов перевірку на одній репліці, знову отримав би капчу на іншій. Обмеження частоти підраховуються в Redis для всіх реплік разом.

Перевірено в Kubernetes

Із макетом кінцевої точки перевірки Google (довіра до якого встановлена через NODE_EXTRA_CA_CERTS з overleaf-certs), у Kubernetes 1.37, наші наскрізні тести reCAPTCHA проходять (13 випадків): на одній репліці — вхід, реєстрація та скидання пароля, кожне з яких відхиляється без капчі або з непройденою капчею і приймається з пройденою, історія пристрою з DEVICE_HISTORY_SECRET, що дає браузеру змогу пропустити капчу, і CAPTCHA_TRUSTED_USERS; на трьох репліках за HAProxy — вхід через LDAP із капчею.
Останнє оновлення 2 листопада 2026 р.