Commit Graph

2837 Commits

Author SHA1 Message Date
Stefan Guilhen
c63a8aa087 Step provider factories cleanup
- adds default init, postInit, close, getConfigProperties methods to WorkflowStepProviderFactory

Closes #45398

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-01-15 15:32:45 -03:00
Pedro Igor
ab351170b4 Support aggregated policies during partial evaluation
Closes #45324

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2026-01-15 15:20:52 +01:00
Alexander Schwartz
391593cfa7 Implement asynchronous logging when called from nonblocking threads
Closes #45015

Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Signed-off-by: Martin Bartoš <mabartos@redhat.com>
Co-authored-by: Martin Bartoš <mabartos@redhat.com>
2026-01-15 09:20:34 -03: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
Stefan Guilhen
75b0a8aa2a When fetching scheduled workflows, return all steps with status completed/pending
Closes #45212

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-01-13 14:34:13 +01:00
vramik
5d773e688b Fix charset of ORG.ID for mysql/mariadb
Closes #45239

Signed-off-by: vramik <vramik@redhat.com>
2026-01-12 17:02:45 -03:00
rmartinc
e6fb3aa7df Use RawSqlStatement instead of RawParameterizedSqlStatement for Saml encryption update
Closes #45107

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-01-12 17:06:17 +01:00
Ryan Emerson
f8b114bdd8 Add indexes to BROKER_LINK table
Closes #45009

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-09 16:09:40 +00:00
Alexander Schwartz
83f31b1003 Reset a password only once
Closes #37231

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Co-authored-by: Ricardo Martin <rmartinc@redhat.com>
2026-01-09 09:30:16 -03:00
Pedro Igor
17f0dbdc1c Update browser flow with organization flow on migration
Closes #36593

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2026-01-07 09:37:46 -03:00
Pedro Ruivo
695ee725a5 Admin UI: slow response time listing second user page
Fixes #44860

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-01-07 10:53:14 +01:00
Pedro Igor
0d5766f3a8 Allow running scheduled workflows
Closes #44865

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2026-01-05 13:03:47 -03:00
Ryan Emerson
cafa1a86eb Disable state transfer for session caches when persistent sessions are enabled
Closes #44518

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-05 08:53:59 +00:00
Ruchika Jha
60b369c622 Validate client session timeout and lifetime settings on realm settings edit
Closes #44910

Signed-off-by: Ruchika <Ruchika.Jha1@ibm.com>
Signed-off-by: Ryan Emerson <remerson@ibm.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Co-authored-by: Ryan Emerson <remerson@ibm.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-01-05 08:50:56 +00:00
Stefan Guilhen
66f3868ccf Suppress the step's priority in the returned workflow JSON/YAML
Closes #45075

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2025-12-29 10:26:21 -03:00
Stefan Guilhen
985ec6d306 Add name uniqueness validation to workflows
Closes #43914

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>

# Conflicts:
#	tests/base/src/test/java/org/keycloak/tests/workflow/WorkflowManagementTest.java
2025-12-29 10:24:56 -03:00
Pedro Ruivo
ba495d1ab1 Remote Infinispan should return count per client only for the current realm (#44948)
Closes #44577

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2025-12-17 07:40:49 +01:00
Stefan Guilhen
7858e6ff6b Change workflow condition grammar to accept the token 'not' as the negation operator instead of '!'
Closes #44880

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2025-12-12 13:31:55 -03:00
Pedro Igor
0419d6711f Workflow database queries not filtering based on the realm
Closes #44858

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2025-12-12 09:40:17 -03:00
Pedro Igor
138d1e0588 Allow restarting the step chain at a specific position
Closes #44789

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2025-12-12 09:38:01 -03:00
Alexander Schwartz
3bd33528f3 Avoid flushing user information in batch mode
Closes #44787

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2025-12-11 14:02:45 +01:00
Pedro Ruivo
2feb158554 ProtoStream marshaller for lambas
Closes #44811

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2025-12-11 12:47:27 +01:00
Alexander Schwartz
1231590a52 Avoid lookup of existing workflow instances when not needed
Closes #44791

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2025-12-10 11:53:50 -03:00
Christian Glasmachers
921b10ee80 Login failure cache: Evict entries after the configured failure reset time
Closes #44801

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Signed-off-by: Pedro Ruivo <pruivo@redhat.com>
Co-authored-by: Christian Glasmachers <Christian.Glasmachers-extern@deutschebahn.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Co-authored-by: Pedro Ruivo <pruivo@users.noreply.github.com>
2025-12-10 11:20:19 +01:00
Pedro Igor
590538c99d Wrong keycloak session when restarting workflows
Closes #44756

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2025-12-09 10:17:28 +01:00
Pedro Igor
89a8cddfd6 Make sure group permissions on view scope are not processed when querying users
Closes #44329

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
Co-authored-by: vramik <vramik@redhat.com>
2025-12-08 14:39:40 +01:00
Pedro Igor
985777ebcc Improvements to the notify step
Closes #44708

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2025-12-05 18:58:03 +01:00
Stefan Guilhen
b14d00e08f Improve workflow concurrency settings
- allow restarting based on events
 - allow cancelling based on events

Closes #44645

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2025-12-05 11:28:18 -03:00
Stefan Guilhen
65ab7f541d Add API method that fetches the scheduled workflow steps for a resource
Closes #43660

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2025-12-03 11:09:55 -03:00
Stefan Guilhen
a2562caa11 Cache expression EvaluatorContext in the workflow component model's notes
Closes #42961

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2025-12-01 14:29:08 -03:00
Stefan Guilhen
cd350082f7 Ensure workflow is only restarted on events that match the activation condition
Closes #44399

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2025-12-01 10:53:59 -03:00
Stefan Guilhen
be714d935d Ensure GroupMemberLeaveEvent has a reference to the user leaving the group
Closes #44400

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2025-12-01 10:46:43 -03:00
Pedro Igor
9abe18e86e Manual sync not executed because of the last sync time
Closes #44552

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2025-11-28 19:45:17 +01:00
Pedro Ruivo
b35dd72392 User session deleted events for invalid sessions
Closes #44513

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2025-11-28 15:43:59 +00:00
Pedro Ruivo
3ed15e740a Add new option to schedule user session expiration
Closes #44068

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Signed-off-by: Ryan Emerson <remerson@ibm.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Co-authored-by: Ryan Emerson <remerson@ibm.com>
2025-11-27 23:01:32 +01:00
Alexis Rico
b0b38176f0 Manage Organization Invites
Closes #38809

Signed-off-by: Alexis Rico <sferadev@gmail.com>
Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
Co-authored-by: Pedro Igor <pigor.craveiro@gmail.com>
2025-11-27 10:28:52 +01:00
Pedro Igor
96aea99d6c Make sure LDAP sync runs in a single cluster node and respecting the configured period
Closes #43752

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2025-11-27 08:08:20 +01:00
vramik
7167262909 Add PK creation for databasechangelog in MySQL to keycloak-database-update.sql when manual migration is used.
Closes #44349

Signed-off-by: vramik <vramik@redhat.com>
2025-11-26 17:06:36 -03:00
Alexander Schwartz
37f2488441 When joining a group, don't rely on cached values if user has already been updated
Closes #44480

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2025-11-26 10:52:14 +01:00
Pedro Ruivo
f7ee930a27 Remove remote call when handling events)
Closes #44048

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>
2025-11-24 18:45:00 +00:00
vramik
0825f22331 Add toPredicate implementation for conditions
Closes #42696

Signed-off-by: vramik <vramik@redhat.com>
2025-11-24 08:56:36 -03:00
Alexander Schwartz
bb971dc6fc Efficient row-count on PostgreSQL
Closes #44057

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2025-11-21 12:28:09 +01:00
Pedro Ruivo
13ef89664c More accurate user session expiration logic
Closes #44204

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2025-11-19 21:06:17 +01:00
Giuseppe Graziano
3e8b2f8ab7 New JWT Authorization Grant Identity provider (#44176)
Closes #43570

Signed-off-by: Giuseppe Graziano <g.graziano94@gmail.com>
2025-11-19 09:18:23 +01:00
Pedro Ruivo
febb632e17 Update protolock file list
Closes #44300

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2025-11-18 18:01:12 +00:00
Stefan Guilhen
464d1a6741 Improve updating existing workflows
- allow updating entire workflow when no scheduled tasks exist
- allow updating conditions, concurrency, and steps config when scheduled tasks exists

Closes #42618

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2025-11-17 09:10:29 -03:00
Pedro Ruivo
6260622f2e Find highest sequence number in jgroups_ping
* Find the highest sequence number in jgroups_ping table to avoid duplicates

Fixes #44189

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2025-11-14 20:54:52 +01:00
Pedro Ruivo
8d0b64bd59 Deprecate TopologyInfo
Closes #44047

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2025-11-14 20:50:31 +01:00
Lucas
5ad1b1efa4 Fix logger call to align arguments with format pattern
fixes #44229

Signed-off-by: Lucas <lucas.bickel@adfinis.com>
2025-11-14 15:23:19 +00:00
Pedro Ruivo
70e1dba2c3 Create remember_me column for user sessions
Closes #44112

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2025-11-14 14:41:04 +01:00