CaptchaFox für Keycloak
Installation
- Laden Sie die neueste Version (opens in a new tab) vom GitHub Repository herunter.
- Kopieren Sie die heruntergeladene
keycloak-captchafox.jar
in dasproviders
Verzeichnis der Keycloak Installation.
Konfiguration
Führen Sie die folgenden Schritte aus, um den installierten Provider zu aktivieren.
Keycloak Admin Console
Klicken Sie in Ihrem Realm im linken Menü auf Authentifizierung und gehen Sie auf die Registerkarte Flows.
Duplizieren Sie hier den Registrierungs-Flow, geben Sie ihm einen Namen und öffnen Sie ihn.
Entfernen Sie anschließend den Recaptcha-Schritt aus dem Formular.
Fügen Sie nun den Ausführungsschritt von CaptchaFox zum Registrierungsformular hinzu.
Setzen Sie in der Dropdown-Liste neben dem Namen die Anforderung auf Erforderlich, um CaptchaFox später im Formular anzuzeigen.
Klicken Sie anschließend auf das Zahnrad-Symbol, um die Schritt-Einstellungen zu öffnen. Legen Sie dort einen Alias fest und geben Sie Ihren Site Key und Secret Key aus Ihrem CaptchaFox Admin Portal ein.
Der letzte Schritt in der Keycloak Admin Console besteht darin, den Registrierungs-Flow mit dem neu erstellten zu verbinden.
Template anpassen
Um das CaptchaFox-Widget in Ihrem HTML-Formular anzuzeigen, müssen Sie auch die Registrierungsvorlage ändern. Sie finden die Dateien in Ihrer Keycloak-Installation unter themes/base/login/
oder in Ihrem eigenen Theme.
Wenn Sie die Benutzerprofil-Vorschau (-Dkeycloak.profile=preview
) verwenden, müssen Sie die Datei register-user-profile.ftl
bearbeiten, ansonsten die Datei register.ftl
.
Ersetzen Sie in der Datei den Recaptcha-Codeblock durch den folgenden:
<#if captchaFoxRequired??>
<div class="form-group">
<div class="${properties.kcInputWrapperClass!}">
<div class="captchafox" data-mode="${captchaFoxMode!'inline'}" data-sitekey="${captchaFoxSiteKey}"></div>
</div>
</div>
</#if>
Ergebnis
Dies ist ein Beispiel dafür, wie das Formular nach Abschluss der Konfiguration aussieht:
(Optional) Nachrichten anpassen
Das Plugin verwendet derzeit die gleichen Meldungen wie die Recaptcha-Implementierung.
Sie können sie ändern, indem Sie die entsprechende Nachrichtendatei öffnen (z. B. theme/base/login/messages/messages_de.properties
) und die Texte aktualisieren.
recaptchaFailed=Captcha ist ungültig
recaptchaNotConfigured=Captcha ist erforderlich, aber nicht konfiguriert