diff --git a/docker-jans-saml/Dockerfile b/docker-jans-saml/Dockerfile
index a99502c3dc2..1f728135620 100644
--- a/docker-jans-saml/Dockerfile
+++ b/docker-jans-saml/Dockerfile
@@ -1,4 +1,4 @@
-FROM quay.io/keycloak/keycloak:24.0.3@sha256:0d71412ed56b5f66f7e922efc0c3ff73b3f54ba2fe84fedb5e281a1f90b95bd6 as kc-src
+FROM quay.io/keycloak/keycloak:25.0.1@sha256:a3d10e729b140f5a044f6d04f324aa53ae58ed11398e0e6e432cb98042b41b1f as kc-src
FROM bellsoft/liberica-openjre-alpine:17.0.11@sha256:7d9240b84e806f9759560536bac1ca545fc31c02465a4b1ca7131def4f4ab130
diff --git a/jans-keycloak-integration/pom.xml b/jans-keycloak-integration/pom.xml
index 703a6aa857e..7000e0463fb 100644
--- a/jans-keycloak-integration/pom.xml
+++ b/jans-keycloak-integration/pom.xml
@@ -19,7 +19,7 @@
3.3.9
17
17
- 24.0.3
+ 25.0.1
10.11
10.11
1.8
diff --git a/jans-linux-setup/jans_setup/app_info.json b/jans-linux-setup/jans_setup/app_info.json
index 5fd91ae119a..2c2527736ec 100644
--- a/jans-linux-setup/jans_setup/app_info.json
+++ b/jans-linux-setup/jans_setup/app_info.json
@@ -17,6 +17,6 @@
"CRYPTOGRAPHY": "https://files.pythonhosted.org/packages/20/8b/66600f5851ec7893ace9b74445d7eaf3499571b347e339d18c76c876b0f9/cryptography-37.0.4-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"TWILIO_MAVEN": "https://repo1.maven.org/maven2/com/twilio/sdk/twilio/",
"TWILIO_VERSION": "7.17.0",
- "KC_VERSION": "24.0.3",
+ "KC_VERSION": "25.0.1",
"OPA_VERSION": "v0.60.0"
}
diff --git a/jans-linux-setup/jans_setup/static/system/systemd/kc.service b/jans-linux-setup/jans_setup/static/system/systemd/kc.service
index 3cca62e982c..782bf1f5437 100644
--- a/jans-linux-setup/jans_setup/static/system/systemd/kc.service
+++ b/jans-linux-setup/jans_setup/static/system/systemd/kc.service
@@ -7,7 +7,8 @@ Type=simple
Environment="JAVA_HOME=%(jre_home)s"
Environment="KEYCLOAK_ADMIN=admin"
Environment="KEYCLOAK_ADMIN_PASSWORD=admin"
-ExecStart=%(idp_config_data_dir)s/bin/kc.sh start-dev --log="console,file" --proxy edge --hostname=%(hostname)s --hostname-admin=%(hostname)s --hostname-path=/kc --hostname-strict-https=true --http-enabled=true --http-relative-path=/kc --http-host=127.0.0.1 --http-port=%(idp_config_http_port)s --log="console,file" --log-file="%(idp_config_data_dir)s/logs/keycloak.log" -Dlog.base="%(idp_config_data_dir)s/logs/%(service_name)s.log" -Djans.config.prop.path="%(idp_config_providers_dir)s"
+Environment="JAVA_OPTS_APPEND=-Djans.base=%(jansBaseFolder)s"
+ExecStart=%(idp_config_data_dir)s/bin/kc.sh start-dev
User=jetty
Group=jetty
diff --git a/jans-linux-setup/jans_setup/templates/jans-saml/kc_jans_api/jans.execution-auth-jans.json b/jans-linux-setup/jans_setup/templates/jans-saml/kc_jans_api/jans.execution-auth-jans.json
index 0620f5fa4ff..033c190b607 100644
--- a/jans-linux-setup/jans_setup/templates/jans-saml/kc_jans_api/jans.execution-auth-jans.json
+++ b/jans-linux-setup/jans_setup/templates/jans-saml/kc_jans_api/jans.execution-auth-jans.json
@@ -2,6 +2,6 @@
"parentFlow": "${jans_browser_auth_flow_id}",
"authenticator": "kc-jans-authn",
"authenticatorConfig": null,
- "requirement": "REQUIRED",
+ "requirement": "ALTERNATIVE",
"priority": 20
}
diff --git a/jans-linux-setup/jans_setup/templates/jans-saml/kc_jans_api/jans.userstorage-provider-component.json b/jans-linux-setup/jans_setup/templates/jans-saml/kc_jans_api/jans.userstorage-provider-component.json
index f8b5272d334..03c0e993259 100644
--- a/jans-linux-setup/jans_setup/templates/jans-saml/kc_jans_api/jans.userstorage-provider-component.json
+++ b/jans-linux-setup/jans_setup/templates/jans-saml/kc_jans_api/jans.userstorage-provider-component.json
@@ -1,6 +1,6 @@
{
"name":"jans-user-federation",
- "providerId": "kc-jans-storage",
+ "providerId": "kc-jans-user-storage",
"providerType": "org.keycloak.storage.UserStorageProvider",
"parentId": "${jans_idp_realm}",
"config": {
diff --git a/jans-linux-setup/jans_setup/templates/jans-saml/keycloak.conf b/jans-linux-setup/jans_setup/templates/jans-saml/keycloak.conf
index 222fecf9f37..2db7a83b30e 100644
--- a/jans-linux-setup/jans_setup/templates/jans-saml/keycloak.conf
+++ b/jans-linux-setup/jans_setup/templates/jans-saml/keycloak.conf
@@ -1,63 +1,52 @@
# Basic settings for running in production. Change accordingly before deploying the server.
-# Database
+# Database
+#db=%{kc_db_provider}
-# The database vendor.
-#db=postgres
+# The username of the database user
+#db-username=%(kc_db_username)s
-# The username of the database user.
-#db-username=keycloak
-
-# The password of the database user.
-#db-password=password
+# The password of the database user
+#db-password=%(kc_db_password)s
# The full database JDBC URL. If not provided, a default URL is set based on the selected database vendor.
-#db-url=jdbc:postgresql://localhost/keycloak
+#db-url=%(kc_jdbc_url)s
# Observability
# If the server should expose healthcheck endpoints.
-#health-enabled=true
+health-enabled=true
# If the server should expose metrics endpoints.
-#metrics-enabled=true
-
-# HTTP
-
-# The file path to a server certificate or certificate chain in PEM format.
-#https-certificate-file=${kc.home.dir}conf/server.crt.pem
-
-# The file path to a private key in PEM format.
-#https-certificate-key-file=${kc.home.dir}conf/server.key.pem
-
-# The proxy address forwarding mode if the server is behind a reverse proxy.
-#proxy=reencrypt
+metrics-enabled=true
-# Do not attach route to cookies and rely on the session affinity capabilities from reverse proxy
-#spi-sticky-session-encoder-infinispan-should-attach-route=false
-# Hostname for the Keycloak server.
-#hostname=myhostname
+# Limit the max amount of queued requests
+http-max-queued-requests=1000
+# Enable the http listener
+http-enabled=true
+# set application hostname
+hostname=https://%(kc_hostname)s/kc
-# Janssen configuration parameters
+# http listen address
+http-host=127.0.0.1
-# Storage SPI Configuration (SCIM)
+# http listen port
+http-port=%(idp_config_http_port)s
-# janssen-auth token endpoint
-spi-storage-kc-jans-storage-auth-token-endpoint=https://%(hostname)s/%(jans_auth_token_endpoint)s
+# set proxy headers x-forwarded
+proxy-headers=xforwarded
-# janssen scim user fetch endpoint
-# usually of the format https:///jans-scim/restv1/v2/Users
-spi-storage-kc-jans-storage-scim-user-endpoint=https://%(hostname)s/jans-scim/restv1/v2/Users
+http-relative-path=/kc
-# scim user search endpoint
-spi-storage-kc-jans-storage-scim-user-search-endpoint=https://%(hostname)s/jans-scim/restv1/v2/Users/.search
+# log to both console and file
+log=file,console
-# scim oauth scopes
-spi-storage-kc-jans-storage-scim-oauth-scopes=https://jans.io/scim/users.read https://jans.io/scim/users.write
+# log level
+log-level=INFO
-#scim client id
-spi-storage-kc-jans-storage-scim-client-id=%(saml_scim_client_id)s
+# set log file path
+log-file=%(idp_config_data_dir)s/logs/keycloak.log
-#scim client secret
-spi-storage-kc-jans-storage-scim-client-secret=%(saml_scim_client_pw)s
+# set log file format if applicable
+#log-file-format=
\ No newline at end of file
diff --git a/jans-linux-setup/jans_setup/templates/jans-saml/quarkus.properties b/jans-linux-setup/jans_setup/templates/jans-saml/quarkus.properties
new file mode 100644
index 00000000000..92e9f31a6fe
--- /dev/null
+++ b/jans-linux-setup/jans_setup/templates/jans-saml/quarkus.properties
@@ -0,0 +1 @@
+quarkus.arc.exclude-types=io.jans.**
\ No newline at end of file