Merge pull request #6 from mwllgr/master

Upgrade to Keycloak 22.0.5
This commit is contained in:
2023-11-09 09:05:59 +01:00
committed by GitHub
3 changed files with 27 additions and 7 deletions

View File

@ -6,7 +6,7 @@ To safeguard registration against bots, Keycloak has integration with Google reC
## Installation ## Installation
Download the newest release JAR (or comile it yourself) and drop it into `your_keycloak_installation/providers` Download the newest release JAR (or compile it yourself - see below) and drop it into `your_keycloak_installation/providers`
There are a few steps you need to perform in the Keycloak Admin Console. Click the Authentication left menu item and go to the Flows tab. Select the Registration flow from the drop down list on this page. There are a few steps you need to perform in the Keycloak Admin Console. Click the Authentication left menu item and go to the Flows tab. Select the Registration flow from the drop down list on this page.
@ -28,7 +28,7 @@ Authorizing Iframes
To show the hCaptcha you need to modify the registration template. You can find the files in your Keycloak installation under `themes/base/login/`. If you use the user profile preview (you start your Keycloak with the `-Dkeycloak.profile=preview` flag), you need to edit the `register-user-profile.ftl`, else the `register.ftl`. Add the following code beneith the reCaptcha code: To show the hCaptcha you need to modify the registration template. You can find the files in your Keycloak installation under `themes/base/login/`. If you use the user profile preview (you start your Keycloak with the `-Dkeycloak.profile=preview` flag), you need to edit the `register-user-profile.ftl`, else the `register.ftl`. Add the following code beneith the reCaptcha code:
``` ```html
<#if hcaptchaRequired??> <#if hcaptchaRequired??>
<div class="form-group"> <div class="form-group">
<div class="${properties.kcInputWrapperClass!}"> <div class="${properties.kcInputWrapperClass!}">
@ -46,5 +46,25 @@ In the last step you have to change the registration flow to the newly created o
Authentication Bindings Authentication Bindings
![Step 6](img/step-06.png) ![Step 6](img/step-06.png)
## Compiling it yourself
Clone the repository:
```bash
git clone https://github.com/p08dev/keycloak-hcaptcha.git
```
Inside the repository, compile it using Maven with Java 17:
```bash
mvn clean compile package
```
You can instruct Maven to use a specific Java version by prepending the JAVA_HOME environment variable:
```bash
JAVA_HOME=/usr/lib/jvm/java-17-oracle/ mvn clean compile package
```
## © License ## © License
[MIT](LICENSE) [MIT](LICENSE)

View File

@ -2,15 +2,15 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>de.itrupp.p8</groupId> <groupId>de.itrupp.p8</groupId>
<artifactId>keycloak-hcaptcha</artifactId> <artifactId>keycloak-hcaptcha</artifactId>
<version>1.0.0</version> <version>1.0.1</version>
<name>Registration Authenitcation Execution Provider for hCaptcha</name> <name>Registration Authenitcation Execution Provider for hCaptcha</name>
<description>hCaptcha protects your users' privacy, rewards websites and helps businesses annotate their data. It's a 'drop in' replacement for reCAPTCHA that you set up in minutes.</description> <description>hCaptcha protects your users' privacy, rewards websites and helps businesses annotate their data. It's a 'drop in' replacement for reCAPTCHA that you set up in minutes.</description>
<packaging>jar</packaging> <packaging>jar</packaging>
<properties> <properties>
<version.keycloak>21.0.1</version.keycloak> <version.keycloak>22.0.5</version.keycloak>
<maven.compiler.source>11</maven.compiler.source> <maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target> <maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>

View File

@ -25,7 +25,7 @@ import org.keycloak.services.messages.Messages;
import org.keycloak.services.validation.Validation; import org.keycloak.services.validation.Validation;
import org.keycloak.util.JsonSerialization; import org.keycloak.util.JsonSerialization;
import javax.ws.rs.core.MultivaluedMap; import jakarta.ws.rs.core.MultivaluedMap;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.ArrayList;