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 с капчей.
