login-register 模組)會在電子郵件登入、LDAP 登入、註冊與密碼重設時要求通過 reCAPTCHA v2(隱藏式)。請在 reCAPTCHA 中建立金鑰並了解各項設定的作用;本頁說明如何將其放入 Kubernetes。
設定
1
將網站金鑰放入 ConfigMap
2
將密鑰與裝置記錄金鑰放入 Secret
DEVICE_HISTORY_SECRET 必須是 64 個十六進位字元;容器不會自動產生它。3
套用並重新啟動
多個副本
所有副本必須共用DEVICE_HISTORY_SECRET,只要它放在 Secret 中即可做到。若值不同,在某個副本上通過驗證的瀏覽器,到了另一個副本又會再次被要求驗證。速率限制會在 Redis 中跨所有副本計算。
在 Kubernetes 上的測試
針對 Google 驗證端點的模擬服務(透過overleaf-certs 中的 NODE_EXTRA_CA_CERTS 信任),在 Kubernetes 1.37 上,我們針對 reCAPTCHA 的端對端測試全數通過(13 個案例):在一個副本上,登入、註冊與密碼重設在沒有驗證或驗證失敗時都會被拒絕、驗證通過時則被接受;來自 DEVICE_HISTORY_SECRET 的裝置記錄讓瀏覽器可略過驗證;以及 CAPTCHA_TRUSTED_USERS;在 HAProxy 後方的三個副本上,搭配驗證的 LDAP 登入。
