為你的 Keycloak 流程加上驗證碼
以伺服端驗證的挑戰保護 Keycloak 瀏覽器登入、自助式註冊與重設密碼頁面。單一 provider JAR,無需寫程式。
為什麼在 Keycloak 上選用 CaptchaLa
針對機器人最先攻擊的頁面進行伺服端驗證。
隱私優先
不引入第三方追蹤像素與廣告信標。使用者不被畫像。原生符合 GDPR、CCPA 與 PIPL。
伺服端防重放
Keycloak 在渲染時簽發一次性 token,並以 App Secret 在伺服端進行驗證。已解的 token 無法被重複使用或跨表單共用。
免程式直接接入
將單一 provider JAR 放入 providers/,執行 kc.sh build,在流程中加入 execution 並貼上 App Key 與 App Secret 即完成。密鑰永遠不會傳到瀏覽器。
保護的位置
在驗證設定中各流程可獨立加入。
三步接入
部署 provider,然後串接流程。
- 1
部署 JAR
將 keycloak-captchala.jar 複製到 /opt/keycloak/providers/,執行 kc.sh build 並重新啟動。將登入主題設定為「captchala」。
- 2
貼上 App Key 與 App Secret
在 captcha.la 註冊帳號,複製 App Key 與 App Secret,貼到 Captchala execution 的設定中(齒輪圖示)。
- 3
選擇要保護的流程
將 Captchala 步驟加入瀏覽器、註冊和/或重設憑證流程——登入、註冊、重設密碼,完成。
常見問題
Keycloak 外掛免費嗎?
免費且開源。CaptchaLa 免費方案包含每月 10,000 次驗證;只在需要更高用量時才需要付費。
支援哪些 Keycloak 版本?
Keycloak 26+ 的 Quarkus 發行版,以 Java 17 針對 26.5.6 版本建置。將 JAR 放入 providers/,執行 kc.sh build,然後重新啟動。
可以保護哪些頁面?
瀏覽器登入、自助式註冊以及重設密碼。每條流程獨立加入,可以只保護其中一條、兩條或全部三條。
App Secret 會暴露給瀏覽器嗎?
不會。密鑰以遮罩方式儲存,僅在 Keycloak 向 CaptchaLa API 發送請求時透過 X-App-Secret 標頭傳遞,不會出現在任何頁面、範本或日誌中。
如果 CaptchaLa API 無法連線怎麼辦?
外掛預設為失敗關閉,提交將被拒絕。可以在任一 execution 上切換為失敗放行,適合灰度上線。