1065 Commits

Author SHA1 Message Date
Michal Vavřík 2a79636bbe chore(mvn): drop unknown parameter 'createChecksum' (#49079)
* Closes: https://github.com/keycloak/keycloak/issues/49078

Signed-off-by: Michal Vavřík <michal.vavrik@aol.com>
2026-05-19 08:10:11 +02:00
Václav Muzikář b817355646 Override org.postgresql:postgresql version (#48991)
Closes #48802

Signed-off-by: Václav Muzikář <vmuzikar@ibm.com>
2026-05-14 14:50:16 +02:00
Thomas Darimont a2275c1899 Add Shared Signals Framework Transmitter capability (#48901)
Adds Shared Signals Framework support to Keycloak in the **SSF Transmitter** role: Keycloak signs Security Event Tokens (SETs, RFC 8417) describing realm/user/session/credential events and delivers them to OAuth clients
registered as **SSF Receivers**, either by HTTP PUSH (RFC 8935) or HTTP POLL (RFC 8936).

Targets the OpenID Shared Signals Framework 1.0 (Final) specification plus the CAEP Interoperability Profile 1.0. Ships the legacy SSE CAEP profile alongside for Apple Business Manager / Apple School Manager interop, since Apple device-fleet enrolment is a concrete drive-use case.

Gated behind \`Profile.Feature.SSF\` experimental, opt-in.

Issue #43614 originally proposed SSF *Receiver* support (Keycloak ingesting SETs from upstream IdPs / risk engines). After exploring both sides, we're shipping the **Transmitter** first (see #48254) because it covers the strongest community asks (federate Keycloak events to downstream SaaS, Apple device fleet revoke flow) and lets us validate the SSF data-plane against real receivers before designing the harder "action mapping" question on the Receiver side. Receiver support remains on the roadmap and is tracked separately via #43614.

**In:**
- Compliance with SSF 1.0, CAEP 1.0, RISC 1.0, RFC 8935, RFC 8936, RFC 9493, RFC 8417
- SSF Transmitter support (Keycloak Realm can act as a SSF Transmitter)
- SSF Stream management (CRUD, status, verification)
- SSF Subjects management  (subjects)
- SET delivery via HTTP PUSH (RFC 8935) and HTTP POLL (RFC 8936) with  POLL in a return-immediately form
- SSF events temporarily stored in durable outbox with cluster-aware drainer and exponential backoff
- SSF Receivers managed as OIDC Clients with client credentials grant or auth code grant (currently only one stream per client)
- Support for SSF Stream, CAEP 1.0 and RISC 1.0  events (custom events via SPI)
- CAEP credential-change / session-revoked / (device-compliance-change) event mapping from native Keycloak events
- Support for RFC 9493 Subject Identifiers for Security Event Tokens
- Support for SSF Receiver subject event subscription with subject selection (per-user / per-orgssf.notify.<clientId>attribute, support fordefault_subjectspolicy (ALL, NONE))
- Support for Synthetic event emittance via REST endpoint for non-Keycloak-native event sources (external IAM solution)
- Per-receiver "Emit-only events" gate to suppress auto-emit per event type per receiver
- Support for legacy SSE CAEP profile for Apple Business Manager / Apple School Manager interop (verified)
- Per-realm SSF admin REST + Admin UI for SSF-enabled clients (Receiver / Stream / Subjects / Events)
- Prometheus metrics (dispatcher, drainer, poll, verification, outbox depth, delivery metrics)

**Out (tracked as separate follow-up issues):**
- SSF Receiver role for Keycloak (ingestion of SETs)
- POLL long-polling (\`returnImmediately=false\` honoured)
- Dedicated SSF signing key (separate from realm OIDC signing key)
- Chunked HELD release for very large backlogs
- Performance characterization + security review
- Formal interop matrix (caep.dev, ABM)

- [X] All code gated behind \`Profile.Feature.SSF\` (experimental, off by default)
- [X] Per-realm \`ssf.transmitterEnabled\` toggle; per-client \`ssf.enabled\` toggle
- [X] SSF event listener registered as global (not user-toggleable per realm)
- [X] Receiver-facing endpoints conformant with SSF 1.0
- [X] CAEP credential-change / session-revoked / device-compliance mapping pass interop testing against \`caep.dev\`
- [X] SSE CAEP profile narrowed shape works with Apple Business Manager
- [X] Integration test coverage for the dispatch / outbox / push / poll pipeline (100+ tests)
- [X] Prometheus metrics exposed under \`keycloak_ssf_*\`
- [X] Design notes published

Fixes #48901

This PR was partially co-authored with Claude AI

Signed-off-by: Thomas Darimont <thomas.darimont@googlemail.com>
2026-05-12 13:00:19 -03:00
rmartinc 62a304b1f0 Add dbus-java as a common dependency
Closes #47294

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-05-12 10:17:21 -03:00
Jean-Francois Denise 37601ac438 Upgrade to WildFly 39.0.1.Final, allow for usage of Galleon family
Signed-off-by: Jean-Francois Denise <jfdenise@gmail.com>
2026-05-12 12:00:03 +02:00
Jean-Francois Denise a1f59f0ecd SAML WildFly adapter, impact of the WildFly catalog
Signed-off-by: Jean-Francois Denise <jdenise@redhat.com>
2026-05-12 12:00:03 +02:00
Pedro Ruivo e4bfc408ab Fix MSSQL queries to work with case sensitive collations
Closes #48584

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-05-07 16:10:17 +02:00
Peter Zaoral f20005ba30 Stop using jboss-parent (#46241)
* Stop using jboss-parent

Closes: #40125

Signed-off-by: Peter Zaoral <pzaoral@redhat.com>

* Add Maven plugins version from jboss-parent

Should match the versions from jboss-parent to
prevent conflicting versions.

Signed-off-by: Badiuzzaman Iskhandar <badiskhand@ibm.com>

---------

Signed-off-by: Peter Zaoral <pzaoral@redhat.com>
Signed-off-by: Badiuzzaman Iskhandar <badiskhand@ibm.com>
Co-authored-by: Badiuzzaman Iskhandar <badiskhand@ibm.com>
2026-05-06 15:25:56 +02:00
Václav Muzikář 5ef7e07812 Upgrade to Quarkus 3.33.1.1 (#48688)
Closes #48687
Closes #48275
Closes #48570
Closes #47485
Closes #47486

Signed-off-by: Václav Muzikář <vmuzikar@ibm.com>
2026-05-05 08:29:36 -04:00
Martin Bartoš 3a825c8de9 Upgrade webauthn4j to 0.30.3
Closes #48420

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-04-30 15:07:20 +02:00
Ryan Emerson 84efef011a AuthZen Evaluation API
Closes #47629

Signed-off-by: Ryan Emerson <remerson@ibm.com>
2026-04-17 10:41:45 -03:00
Steven Hawkins e9f593020a fix: creating a cleaner module for use by java clients (#47874)
* fix: minimizing the dependencies for the rest module

closes: #48114

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

* renaming the modules

also remove jsonnode logic from the oas filter and the databind
dependency

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

* addressing review comments

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

---------

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
2026-04-16 15:18:41 +02:00
Pedro Ruivo d8507112f2 CloudNativePG 1.29
Closes #47839

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-04-08 16:24:18 +02:00
dependabot[bot] 601718646c Bump undertow.version from 2.3.20.Final to 2.3.24.Final (#47549)
Bumps `undertow.version` from 2.3.20.Final to 2.3.24.Final.

Updates `io.undertow:undertow-servlet` from 2.3.20.Final to 2.3.24.Final
- [Release notes](https://github.com/undertow-io/undertow/releases)
- [Commits](https://github.com/undertow-io/undertow/compare/2.3.20.Final...2.3.24.Final)

Updates `io.undertow:undertow-core` from 2.3.20.Final to 2.3.24.Final
- [Release notes](https://github.com/undertow-io/undertow/releases)
- [Commits](https://github.com/undertow-io/undertow/compare/2.3.20.Final...2.3.24.Final)

---
updated-dependencies:
- dependency-name: io.undertow:undertow-servlet
  dependency-version: 2.3.24.Final
  dependency-type: direct:production
- dependency-name: io.undertow:undertow-core
  dependency-version: 2.3.24.Final
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-07 09:52:07 +02:00
Peter Skopek 356cd5ef41 Remove Liquibase dependency version from Keycloak root pom
closes #27986

Signed-off-by: Peter Skopek <peter.skopek@ibm.com>
2026-04-02 13:58:09 +02:00
Thomas Diesler c296ae1b41 Align selenium version across test suites
closes #47679

Signed-off-by: Thomas Diesler <tdiesler@proton.me>
2026-04-01 16:37:33 +00:00
Martin Bartoš 8e0e2e8ab0 Upgrade to Quarkus 3.33.1 LTS (#47462)
* Upgrade to Quarkus 3.33.1 LTS

Closes #45278

Signed-off-by: Martin Bartoš <mabartos@redhat.com>

* Remove OLM NativeAPIs workaround

Closes #42643

Signed-off-by: Martin Bartoš <mabartos@redhat.com>

---------

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-03-27 09:23:06 +00:00
Martin Bartoš a055e0e1df Upgrade to Quarkus 3.33.0.CR1 (#47131)
Closes #47130

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-03-13 10:55:16 +01:00
Martin Bartoš a971c5f289 Upgrade to Quarkus 3.32.3 (#47082)
Closes #47081

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-03-12 09:24:11 +00:00
Tomáš Kyjovský 66f4a7e630 CloudNativePG installation docs for the single-cluster setup
Closes #45800

Signed-off-by: Tomas Kyjovsky <tkyjovsk@ibm.com>
Signed-off-by: Ryan Emerson <remerson@ibm.com>
Co-authored-by: Ryan Emerson <remerson@ibm.com>
2026-03-11 10:34:01 +01:00
Ryan Emerson 942fe0dfb2 Infinispan 16.0.8
Closes #47008

Signed-off-by: Ryan Emerson <remerson@ibm.com>
2026-03-10 14:43:44 +01:00
Ryan Emerson 0b1651fc96 Upgrade to Infinispan 16.0.7
Closes #46013

Signed-off-by: Ryan Emerson <remerson@ibm.com>
2026-03-06 08:05:04 +01:00
Martin Bartoš 0f22d97e2c Upgrade to Quarkus 3.32.2 (#46891)
Closes #46890

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-03-05 14:41:18 +01:00
Martin Bartoš ccb76d5c21 Upgrade to Quarkus 3.32.1 (#46712)
Closes #46711

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-03-02 17:51:32 +01:00
rmartinc 677f385938 Upgrade wildlfy and eap versions to 35 and 8.1 respectively
Closes #45907

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-03-02 15:39:42 +01:00
Pedro Igor 3e3a7befd1 Initial code for SCIM core and testsuite (#45978)
Closes #45712

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2026-02-23 18:22:25 +01:00
Ricardo Martin 1f49f67991 Upgrade docker-maven-plugin to last version (#46313)
Closes #46312

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-02-13 12:15:20 +01:00
rmartinc bd703eb767 Upgrade santuario to 3.0.6 to fix SANTUARIO-617
Closes #45680

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-02-12 15:57:50 +01:00
Peter Zaoral 83c51c6214 Upgrade to Quarkus 3.32.0.CR1 (#46256)
Closes: #46255

Signed-off-by: Peter Zaoral <pzaoral@redhat.com>
2026-02-12 13:14:49 +00:00
Martin Bartoš 06868267c9 Use Expressly dependency for Hibernate Validator
Closes #46121

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-02-10 20:50:34 +01:00
Martin Bartoš 79f8405b7a Upgrade to Quarkus 3.31.2 (#46044)
Closes #46043

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-02-05 11:51:38 +01:00
Ryan Emerson 2c6f56acdc Avoid breaking DB changes during patch releases
Closes #38888

Signed-off-by: Ryan Emerson <remerson@ibm.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <pruivo@users.noreply.github.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-02-03 15:26:01 +01:00
Steven Hawkins 9462f0f00b updating to quarkus 3.31.1 (#45612)
* fix: updating to quarkus 3.31.0.CR1

closes: #45576

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

* updating test containers for 3.31.0.CR1

also adding a managed version for microprofile-metrics-api

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

* excluding quarkus-bootstrap-runner to prevent trace logging

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

* changing to new logging context for hibernate jpa

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

* switching to 3.31.0 release

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

* switching to 3.31.1 release

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

* Follow upgrading guide for Quarkus 3.31.0

Signed-off-by: Martin Bartoš <mabartos@redhat.com>

* turning of specific hibernate logging

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

* removing quarkus-bootstrap-runner from the model test classpath

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

---------

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
Signed-off-by: Martin Bartoš <mabartos@redhat.com>
Co-authored-by: Martin Bartoš <mabartos@redhat.com>
2026-02-02 17:50:56 +01:00
Pedro Ruivo 9e75e586e1 Remove duplicated maven-javadoc-plugin
Closes #45471

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-01-16 17:23:11 +00:00
Pedro Ruivo e4bb53a743 Update maven-javadoc-plugin version to 3.2.0
Closes #45471

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-01-15 15:11:33 +00:00
Ryan Emerson c8635f9bf2 ISPN16: Upgrade to Infinispan 16.0.5
Closes #45341

- Remove query modules
- Remove unused config file
- Update config file versions
- Update jgroups attributes
- Remove ISPN-16595 workaround
- Call HotRodServer#postStart in HotRodServerRule to start caches as well as the server
- Simplify cluster-ha.xml
- Utilise org.infinispan.commons.util.TimeQuantity in CacheConfiguration
- Cleanup when InfinispanContainer startup fails
- RemoteUserSessionProvider remote query calls must not use negative values for offsets and maxResults
- Remove use of deprecated org.infinispan.server.test.core.InfinispanContainer class
- Use testcontainers-infinispan dependency
- Explicitly utilise "legacy" metrics
- Remove explicit `name-as-tags` configuration as Infinispan 16 defaults to true
- Remove test configuration not required since #31807

Signed-off-by: Ryan Emerson <remerson@ibm.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-01-13 17:26:43 +01:00
Stian Thorgersen 91a6fc880a Add default surefire args for tests using new testframework
Closes #44098, Closes #44099

Signed-off-by: stianst <stianst@gmail.com>
2026-01-09 08:33:54 +01:00
Steven Hawkins 9c15292906 fix: upgrade quarkus to 3.30.5 (#45192)
closes: #45188

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
2026-01-07 08:59:44 +01:00
Václav Muzikář ed69f332af [admin-v2] Polymorphism, refined OIDC Client representation (#44727)
* [admin-v2] Polymorphism, refined OIDC Client representation

Closes #43290

Signed-off-by: Václav Muzikář <vmuzikar@redhat.com>

* Remove AbstractRepModelMapper

Signed-off-by: Václav Muzikář <vmuzikar@redhat.com>

---------

Signed-off-by: Václav Muzikář <vmuzikar@redhat.com>
2026-01-06 16:23:30 +01:00
Steven Hawkins 6dc2e269be fix: updating owasp.html.sanitizer.version to addresss CVE-2025-66021
closes #45097

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
2026-01-05 08:53:00 +01:00
Stian Thorgersen ab9c6e36ee Remove legacy/jakarta Undertow as we only need one, and upgrade to the latest to fix CVEs (#44901)
Closes #44814

Signed-off-by: stianst <stianst@gmail.com>
2025-12-15 10:39:19 +01:00
Václav Muzikář da6c4df5ec Support EDB 18 (#44856)
* Support EDB 18

Closes #44494

Signed-off-by: Václav Muzikář <vmuzikar@redhat.com>

* Update test-framework/db-edb/container/README.md

Co-authored-by: Steven Hawkins <shawkins@redhat.com>
Signed-off-by: Václav Muzikář <vaclav@muzikari.cz>

---------

Signed-off-by: Václav Muzikář <vmuzikar@redhat.com>
Signed-off-by: Václav Muzikář <vaclav@muzikari.cz>
Co-authored-by: Steven Hawkins <shawkins@redhat.com>
2025-12-15 07:36:26 +01:00
Stian Thorgersen 0e0534697e Remove Log4j from parent pom (#44845)
Closes #27932

Signed-off-by: stianst <stianst@gmail.com>
2025-12-11 16:03:06 +01:00
Rahul Jain 61b1e53eee Bump Quarkus to 3.27.1 LTS (#44348)
Closes #43642
Signed-off-by: Rahul Jain <jainrahul0311@gmail.com>
2025-11-20 15:36:23 +01:00
Carlos Rodríguez Hernández 2a876c143f Add support for PostgreSQL 18 (#44288)
Signed-off-by: Carlos Rodríguez Hernández <carlos.rodriguez-hernandez@broadcom.com>
2025-11-19 11:39:36 +01:00
Stian Thorgersen a2c1055f8d Proposed import order (#43432)
* Add importOrder to Spotless

Closes #43235

Signed-off-by: stianst <stianst@gmail.com>

* Re-order imports with Spotless

Signed-off-by: stianst <stianst@gmail.com>

---------

Signed-off-by: stianst <stianst@gmail.com>
2025-11-14 09:34:49 +01:00
Steven Hawkins 63fc0eec28 task: use client v1 logic for v2 impl (#43982)
* task: use client v1 logic for v2 impl

closes: #43733

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

* removing the provider module

Signed-off-by: Steve Hawkins <shawkins@redhat.com>

---------

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
2025-11-12 15:08:27 +01:00
Stian Thorgersen d8275fe5df Remove wildcard imports (#44060)
Closes #44059

Signed-off-by: stianst <stianst@gmail.com>
2025-11-10 11:46:05 +01:00
Václav Muzikář 9c86eae7ed Initial Client API v2 impl (#43395)
Closes #43224

Signed-off-by: Václav Muzikář <vmuzikar@redhat.com>
Co-authored-by: Martin Bartoš <mabartos@redhat.com>
Co-authored-by: Peter Zaoral <pzaoral@redhat.com>
Co-authored-by: Steven Hawkins <shawkins@redhat.com>
Co-authored-by: Robin Meese <39960884+robson90@users.noreply.github.com>
2025-11-03 14:31:54 +01:00
rmartinc 248d6d1feb Upgrade xmlsec to 3.0.4 and remove KeycloakFipsSecurityProvider workaround
Closes #43263

Signed-off-by: rmartinc <rmartinc@redhat.com>
2025-10-13 15:38:58 +02:00