Skip to main content
Usługa web (moduł login-register) wymaga reCAPTCHA v2 (niewidocznej) przy logowaniu przez e-mail, logowaniu LDAP, rejestracji i resetowaniu hasła. Utwórz klucz i przeczytaj, co robi każde ustawienie, w reCAPTCHA; ta strona opisuje, jak umieścić to w Kubernetes.

Konfiguracja

1

Klucz witryny do ConfigMap

Klucz witryny jest publiczny: wyświetla go każda strona logowania.
2

Klucz tajny i klucz historii urządzeń do Secret

Ustaw oba klucze jednocześnie: przy kluczu witryny bez klucza tajnego każde sprawdzenie kończy się niepowodzeniem i nikt nie może zalogować się hasłem, zarejestrować ani zresetować hasła. DEVICE_HISTORY_SECRET musi mieć 64 znaki szesnastkowe; kontener go nie generuje.
3

Zastosuj i zrestartuj

Następnie sprawdź, czy każdy pod ma dostęp do punktu końcowego. Pody rezygnują po około jednej sekundzie na każdą próbę połączenia, a logowanie, którego sprawdzenia nie da się wykonać, kończy się błędem:

Kilka replik

Wszystkie repliki muszą współdzielić DEVICE_HISTORY_SECRET, co ma miejsce, gdy znajduje się on w Secret. Przy różnych wartościach przeglądarka, która przeszła weryfikację na jednej replice, ponownie otrzymałaby captchę na innej. Limity żądań są liczone w Redis dla wszystkich replik łącznie.

Przetestowano na Kubernetes

Wobec atrapy punktu końcowego weryfikacji Google (zaufanej przez NODE_EXTRA_CA_CERTS z overleaf-certs), na Kubernetes 1.37, nasze testy end-to-end dla reCAPTCHA przechodzą pomyślnie (13 przypadków): na jednej replice logowanie, rejestracja i resetowanie hasła — każde odrzucane bez captchy lub z nieudaną captchą i akceptowane z udaną, historia urządzeń z DEVICE_HISTORY_SECRET pozwalająca przeglądarce pominąć captchę oraz CAPTCHA_TRUSTED_USERS; na trzech replikach za HAProxy logowanie LDAP z captchą.
Ostatnia modyfikacja 2 listopada 2026