Commit graph

2912 commits

Author SHA1 Message Date
Steven Hawkins
0b0f2b795c
fix: mapping mtls enabled to a runtime option (#47751)
closes: #47750

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
2026-04-07 15:16:28 +00:00
RafaelWO
b6743de80d Add createdAfter/createdBefore filter to GET /admin/realms/{realm}/users
Add server-side filtering of users by creation timestamp on the admin
REST API. This avoids the need to retrieve all users and filter
client-side, which is inefficient for large realms.

Two optional query parameters are added to both the user list and count
endpoints. They accept either ISO-8601 date strings (yyyy-MM-dd) or
epoch milliseconds, consistent with the existing events API date
filtering via DateUtil.

Closes #43829

Signed-off-by: RafaelWO <weingartner.rafael@hotmail.com>
2026-04-06 10:10:54 -03:00
Stefan Guilhen
71385f2df3 Dont auto-disable workflows in case of errors thrown by condition and step providers
- also prevent exceptions in these cases from rolling back the entire transaction

Closes #47232

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-03-24 08:55:28 -03:00
Stefan Guilhen
be1a93382a Fire events from ScheduleWorkflowTask
Closes #47230

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-03-24 08:53:52 -03:00
Stefan Guilhen
e03f2cee53 Only start workflow schedule task runner for enabled workflows
Closes #47227

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-03-24 08:51:24 -03:00
Steven Hawkins
3c0c94f1d6
fix: reducing the cost of clear admin composite role cache
closes: #47139

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-03-23 23:59:44 +01:00
Pedro Ruivo
ba7f7cee24
Add Infinispan numOwners SPI option to compatibility metadata
Closes #47366

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-03-23 23:12:16 +01:00
Pedro Ruivo
1843374e54
Add ISPN config file checksum to compatibility metadata (#47273)
Closes #46861

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-03-20 12:09:34 +01:00
Eren Kan
30f1ae2732
Improve error message when organization name cannot be used as alias
Include the original validation message from ReservedCharValidator
in the error response to help users understand exactly why their
organization name cannot be used as an alias.

Closes #45718

Signed-off-by: erenkan <eren@keymate.io>
2026-03-20 01:01:57 +01:00
Peter Skopek
d11136f671 Separate password and OTP brute force protection to prevent OTP bypass attacks by default
Closes #46164

Signed-off-by: Peter Skopek <peter.skopek@ibm.com>

Update model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/changes/remote/updater/loginfailures/LoginFailuresUpdater.java

Co-authored-by: Pedro Ruivo <pruivo@users.noreply.github.com>
Signed-off-by: Peter Skopek <peter.skopek@ibm.com>

Add recovery codes to the list of brute force checked authenticators.

Closes #46164
Signed-off-by: Peter Skopek <peter.skopek@ibm.com>
2026-03-17 18:57:37 +01:00
asafm
e0dfe8d5b1 Fix NPE on mixed-case email domain in Keycloak Organization
This commit addresses a NullPointerException that occurs when logging in with a mixed-case email domain in a Keycloak Organization. The root cause was a mismatch between how the JPA layer (case-insensitive) and the Infinispan cache layer (case-sensitive) handled domain name casing.

Key changes:
- Normalized the domain name to lowercase when generating Infinispan cache keys in InfinispanOrganizationProvider.
- Added defensive null checks when resolving organizations from the cache to prevent NullPointerException from stale cache entries.
- Added a new integration test testStaleCacheEntryDoesNotThrowNPE in OrganizationCacheTest to verify the fix.
- Fixed a flaky test (incorporated @martin-kanis commit)

Signed-off-by: asafm <asafm1989@gmail.com>
2026-03-17 10:11:21 -03:00
lrozenblyum
fc9e5c7fd7
Provide details on sessions being removed. (#47192)
Closes #41330

Signed-off-by: Leonid Rozenblyum <lrozenblyum@gmail.com>
2026-03-17 11:17:24 +01:00
Pedro Igor
b3a9484413 Make sure time sync are respected and component config updated within a separate transaction
Closes #46588

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2026-03-16 19:52:31 -03:00
vramik
4455f01f13 Do not allow managing invitations if not an invitation of the current organization
Closes #47080

Signed-off-by: vramik <vramik@redhat.com>
2026-03-13 11:00:30 -03:00
Abigail
c4421740a2 Fix single-file export including non-imported LDAP users (#46537)
Signed-off-by: Abigail <abigail.llanque@edu.tbz.ch>
2026-03-13 10:30:21 -03:00
vramik
3db694ca5b Search for organization group membership ignores search param
Closes #47051

Signed-off-by: vramik <vramik@redhat.com>
2026-03-11 10:26:27 -03:00
Pedro Igor
8341e4e986
Do not cache users when failing validations from their storage providers
Closes #45889

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2026-03-11 09:39:33 +01:00
Alexander Schwartz
814d3142ee
Remove Tracing workaround in Infinispan/JGroups classes
Closes #41629

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-03-10 14:49:34 +01:00
Martin Kanis
a6b31e879f
SCIM Track the last time a resource was modified
Closes #46223

Signed-off-by: Martin Kanis <mkanis@redhat.com>
2026-03-10 14:41:07 +01:00
vramik
b7a9ee7105 Inconsistent search when using wildcards
Closes #44678

Signed-off-by: vramik <vramik@redhat.com>
2026-03-10 08:26:15 -03:00
Pedro Igor
14a3bc00ad
Stricter access control for managing permission tickets
Closes #46723

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2026-03-08 12:45:34 +01:00
Pedro Ruivo
e5535d218b
Map transaction timeout to database lock timeout
Closes #46671

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-03-03 12:30:30 +01:00
Pedro Igor
884e46d125
Enable and disable SCIM API to a realm through the administration console
Closes #46755

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2026-03-03 10:16:30 +01:00
Pedro Igor
d52e5a1234
Support for PATCH operations (#46561)
Closes #46214

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2026-03-03 09:00:28 +01:00
Pedro Igor
8abed3a133
Check resource server when managing their resources
Closes #45650

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2026-03-02 18:43:42 +01:00
Steve Hawkins
56c2721186 fix: merging the platform concept into the application
closes: #46377

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
2026-03-02 14:40:52 -03:00
Pedro Ruivo
33ff9f1b71
Check the Unicode setup of the database on startup
Closes #46557

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-03-01 14:15:44 +01:00
Ryan Emerson
c47c38577b
JGroups bind port configuration ignored when --cache-embedded-network-bind-port set
Closes #46663

Signed-off-by: Ryan Emerson <remerson@ibm.com>
2026-03-01 13:59:55 +01:00
Alexander Schwartz
f2cfe159c4
Avoid having N+1 database calls when fetching composite roles
Closes #46605

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Co-authored-by: Steven Hawkins <shawkins@redhat.com>
2026-02-26 15:31:17 +00:00
Vlasta Ramik
46f648dc95
Ability to retrive subgroups count for organization groups (#46534)
Closes #46445

Signed-off-by: vramik <vramik@redhat.com>
2026-02-24 14:26:49 +01:00
vramik
4beaaf2ab4 Expose organization group membership for a member
Closes #46454

Signed-off-by: vramik <vramik@redhat.com>
2026-02-24 09:02:53 -03: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
Pedro Ruivo
be175346cd
Aggregate client-id field for improved Infinispan query
Closes #46471

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-02-23 16:43:23 +01:00
Ryan Emerson
ee9f364b8d
Migrations in db-compatibility-verifier-maven-plugin
Closes #46389

Signed-off-by: Ryan Emerson <remerson@ibm.com>
2026-02-18 20:57:47 +01:00
Pedro Ruivo
5096806b52
Revisit Infinispan session idle and lifetime settings
Some checks failed
Weblate Sync / Trigger Weblate to pull the latest changes (push) Has been cancelled
Closes #46421

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-02-18 14:38:23 +01:00
Alexander Schwartz
3f8b1c8e70
Optimize user joining group or role
Closes #45689

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-02-17 11:32:57 +01:00
Ruchika Jha
f92c27e26d
Make rolling updates for patch releases fully supported and Updated docs, release notes and upgrading guide for zero-downtime patch releases
Closes #45381
Closes #45756

Signed-off-by: Ruchika <ruchika.jha1@ibm.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-02-16 15:11:16 +00:00
Stefan Guilhen
aeda5c4f01 Increase workflow executor timeout to 5 seconds by default
Some checks failed
Weblate Sync / Trigger Weblate to pull the latest changes (push) Has been cancelled
Closes #46332

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-02-13 14:33:31 -03:00
Stefan Guilhen
0b93d23201 Record every step in the workflow step table so immediate steps can recover from failure
Closes #45175

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-02-13 12:01:00 -03:00
Stefan Guilhen
1384d3b72a Make RunWorkflowTask aware of executor cancellation due to timeout
Closes #45175

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-02-13 12:01:00 -03:00
Stefan Guilhen
04d8886678 Execute each workflow step in its own transaction
Closes #45175

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-02-13 12:01:00 -03:00
Pedro Ruivo
463ec1ee56
Incorrect code used return value
Fixes #46290

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-02-13 15:59:44 +01:00
Steven Hawkins
19118a097c
fix: adding admin role invalidation when a new realm is found (#46019)
* fix: adding admin role invalidation when a new realm is found

closes: #45966

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

* Update model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmCacheSession.java

Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Signed-off-by: Steven Hawkins <shawkins@redhat.com>

* adding a comment and a permission tweak for imported realms

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

* checking getShouldUseLightweightToken

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

---------

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
Signed-off-by: Steven Hawkins <shawkins@redhat.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
2026-02-13 15:52:52 +01:00
Pedro Ruivo
49240b6eac
Reduce UserListQuery memory usage
Closes #46140

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-02-11 08:46:39 +01:00
Pedro Ruivo
dd7302a3af
Remove ConfigurationBuilderHolder field from DefaultCacheEmbeddedConfigProviderFactory
Closes #46138

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-02-10 21:48:24 +00:00
vramik
d5f7e127c8 Add cashing for groups by member method
Closes #46115

Signed-off-by: vramik <vramik@redhat.com>
2026-02-10 07:24:24 -03:00
Pedro Ruivo
c438da8d8b
Use cached realm attributes for PAR and CIBA config
Some checks failed
Weblate Sync / Trigger Weblate to pull the latest changes (push) Has been cancelled
Closes #46100

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-02-09 19:12:08 +01:00
Pedro Ruivo
47f245f81e
New key affinity for session ids
Closes #46090

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-02-09 10:46:45 +01:00
Stefan Guilhen
9a32b5e2c4 Add ProviderEvents to workflows
- custom listeners can now react to workflow operations

Closes #45170

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-02-06 16:48:03 -03:00
vramik
ca89a0cdc4 Organization Groups Caching
Closes #45509

Signed-off-by: vramik <vramik@redhat.com>
2026-02-06 08:12:55 -03:00