Commit graph

522 commits

Author SHA1 Message Date
Martin Bartoš
daf9e69a9f
NPE when using HttpClient and enabled tracing (#47687)
Closes #47379

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-04-07 10:13:54 +02:00
Pedro Igor
049569b9fa
Persist kid for java keystore key providers
Closes #47495

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2026-04-07 08:20:25 +02: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
Ryan Emerson
00c0dee3c4 Display Javascript policy description and code in admin UI
Closes #47452

Signed-off-by: Ryan Emerson <remerson@ibm.com>
2026-04-02 12:37:56 -03:00
Thomas Diesler
de720a1b43
[OID4VCI] Initial public client for credential issuance (#45855)
closes #47280


Signed-off-by: Thomas Diesler <tdiesler@proton.me>
2026-04-01 18:48:40 +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
forkimenjeckayang
8f90f98ab6
[OID4VCI] Make cryptographic binding & proofs explicitly configurable and spec-compliant (#47257)
closes #45724


Signed-off-by: forkimenjeckayang <forkimenjeckayang@gmail.com>
2026-04-01 12:14:30 +02:00
Laurids Møller Jepsen
3e3191d60c Enable use of kc_idp_hint in Pushed Authorization Requests.
The client can select which Identity Provider to use for user authentication by including an Identity Provider alias in a "kc_idp_hint" parameter in a Pushed Authorization Request.

Closes #47229

Signed-off-by: Laurids Møller Jepsen <laurids.jepsen@cryptomathic.com>
2026-04-01 09:32:46 +02:00
Awambeng
72c3a267ff
[OID4VCI] Fix NullPointerException in OID4VCI mapper metadata generation (#47608)
Closes #47544


Signed-off-by: Awambeng Rodrick <awambengrodrick@gmail.com>
2026-03-31 11:18:41 +02:00
Marie Daly
7ee34391b0
Resolve offlineTokenBrowserFlow flaky test and migrate test to JUnit5 (#47467)
closes #45881


Signed-off-by: Marie Daly <marie.daly1@ibm.com>
2026-03-30 20:04:52 +02:00
Asish Kumar
72758a342d Exclude @context from credential definition for non-JSON-LD formats
Only include @context in credential_definition when the credential
format is ldp_vc, as required by the OID4VCI specification. For
jwt_vc_json format, @context is now excluded by setting it to null
in JwtCredentialBuilder. The LDCredentialBuilder now explicitly
contributes credential definition metadata including @context.

Closes #47045

Signed-off-by: Asish Kumar <officialasishkumar@gmail.com>
2026-03-30 19:31:53 +02:00
Thomas Diesler
8cb5f95894 [OID4VCI] Migrate OID4VCIssuerWellKnownProviderTest
Signed-off-by: Thomas Diesler <tdiesler@proton.me>
2026-03-27 16:26:55 +01:00
Ricardo Martin
f2c7c673df
Add SAML url attributes to the SecureClientUrisPatternExecutor (#47514)
Closes #46745


Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-03-27 14:53:34 +01:00
Stian Thorgersen
f110573310
Test migration util - Add support for legacy configuration of test realms (#47521)
Closes #47518

Signed-off-by: stianst <stianst@gmail.com>
2026-03-27 14:27:13 +01:00
Thomas Diesler
52485c0dd1 [OID4VCI-HAIP] Pass oid4vci-1_0-issuer-fail-invalid-key-attestation-signature
Signed-off-by: Thomas Diesler <tdiesler@proton.me>
2026-03-27 14:03:51 +01:00
Stian Thorgersen
3ccc3d168b
Fix build issues in OID4VCTestContext (#47522)
Signed-off-by: stianst <stianst@gmail.com>
2026-03-27 13:09:24 +01:00
Awambeng
eb1be61f95
[OID4VCI]: Migrate OID4VCI Authorization Code Flow tests to new framework (#47388)
Closes #46596


Signed-off-by: Awambeng Rodrick <awambengrodrick@gmail.com>
2026-03-27 11:13:07 +01:00
Awambeng Rodrick
519ee7f82d test(oid4vc): migrate time normalization tests to new test suite
- Migrate time normalization tests from Arquillian to JUnit 5
- Add shared test base with common helpers
- Replace server-side execution with admin REST API (ManagedRealm)
- Remove old Arquillian tests

Closes #47437

Signed-off-by: Awambeng Rodrick <awambengrodrick@gmail.com>

Address review comments from @forkimenjeckayang

Signed-off-by: Awambeng Rodrick <awambengrodrick@gmail.com>
2026-03-27 10:56:00 +01:00
Lukas Hanusovsky
8864cdcb5e
Migration Tool - Adding RunOnServer rewrite. (#47506)
* Migration Tool - Adding RunOnServer rewrite.

Signed-off-by: Lukas Hanusovsky <lhanusov@redhat.com>

* Add RunOnServerRewrite to MigrateTest, and changed field name to runOnServer

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

# Conflicts:
#	tests/migration-util/src/main/java/org/keycloak/test/migration/MigrateTest.java

---------

Signed-off-by: Lukas Hanusovsky <lhanusov@redhat.com>
Co-authored-by: stianst <stianst@gmail.com>
2026-03-27 09:22:19 +01:00
Lukas Hanusovsky
4c9538442f
Migration Tool - Adding WebDriver and Pages rewrite. (#47504)
* Migration Tool - Adding WebDriver and Pages rewrite.

Signed-off-by: Lukas Hanusovsky <lhanusov@redhat.com>

* Update MigrateTest

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

---------

Signed-off-by: Lukas Hanusovsky <lhanusov@redhat.com>
Signed-off-by: stianst <stianst@gmail.com>
Co-authored-by: stianst <stianst@gmail.com>
2026-03-27 09:13:54 +01:00
Lukas Hanusovsky
b9f081d0af
Migration Tool - Adding OAuthClient rewrite. (#47505)
* Migration Tool - Adding OAuthClient rewrite.

Signed-off-by: Lukas Hanusovsky <lhanusov@redhat.com>

* Add OAuthClientRewrite to MigrateTest

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

# Conflicts:
#	tests/migration-util/src/main/java/org/keycloak/test/migration/MigrateTest.java

---------

Signed-off-by: Lukas Hanusovsky <lhanusov@redhat.com>
Co-authored-by: stianst <stianst@gmail.com>
2026-03-27 09:06:51 +01:00
Lukas Hanusovsky
d5c7b8ce93
Migration Tool - Adding After annotation rewrite. (#47503)
* Migration Tool - Adding After annotation rewrite.

Signed-off-by: Lukas Hanusovsky <lhanusov@redhat.com>

* Add AfterRewrite to MigrateTest

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

---------

Signed-off-by: Lukas Hanusovsky <lhanusov@redhat.com>
Signed-off-by: stianst <stianst@gmail.com>
Co-authored-by: stianst <stianst@gmail.com>
2026-03-27 08:59:07 +01:00
Simon Levermann
f4225b4f9b
Introduce traceId to freemarker attributes
Closes #44090
Closes #34435

Signed-off-by: Simon Levermann <github@simon.slevermann.de>
2026-03-26 17:42:32 +01:00
Stian Thorgersen
af942df712
Verify resource indicator syntax in authz and token endpoint (#47438)
Closes #47116, closes #47119

Signed-off-by: stianst <stianst@gmail.com>
2026-03-26 10:35:17 +01:00
Alexey Skosyrskiy
56cdb6b8ef Optimize composite client role mappings endpoint and migrate test
Pre-compute the full effective role set once in
ClientRoleMappingsResource.getCompositeClientRoleMappings() using
RoleUtils.getDeepRoleMappings(), then filter by client. This replaces
the previous O(C*M*D) approach of calling user.hasRole() for every
client role, which recursively expanded composites without memoization.

RoleUtils.getDeepRoleMappings(RoleMapperModel) is introduced to handle
both RoleMapperModel implementations correctly: UserModel includes
group-inherited roles (matching UserModel.hasRole() semantics), while
GroupModel expands only its direct composite mappings.

The CompositeClientRoleMappingsTest is migrated from the deprecated
Arquillian framework to the new Keycloak test framework (JUnit 5).

Signed-off-by: Alexey Skosyrskiy <askosyrskiy@metropolis.io>
2026-03-25 17:24:16 -03:00
Stefan Guilhen
1b9f0e7db1 Switch workflows feature to supported
Closes #46987

Signed-off-by: kvfi <mail@ouafi.net>
Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-03-25 17:05:32 -03:00
Ingrid Kamga
df92e7aac8
[OID4VCI] Generate pre-authorized codes using the JWT format (#46450)
Closes #45231


Signed-off-by: Ingrid Kamga <Ingrid.Kamga@adorsys.com>
Signed-off-by: Ingrid Kamga <xingridkamga@gmail.com>
2026-03-25 19:35:13 +01:00
Stian Thorgersen
9fbd26d363
Migrate events package to test framework (#47403)
Closes #47401

Signed-off-by: stianst <stianst@gmail.com>
2026-03-25 14:35:54 +01:00
forkimenjeckayang
931d232fa2
[OID4VCI] Migrate OID4VCAuthorizationDetailsFlowTestBase and subclasses to new testsuite (#47287)
closes #46597



Signed-off-by: forkimenjeckayang <forkimenjeckayang@gmail.com>
Signed-off-by: Thomas Diesler <tdiesler@proton.me>
Co-authored-by: Thomas Diesler <tdiesler@proton.me>
2026-03-25 10:31:52 +01:00
jimmychakkalakal
e46a33adcf
Migrate WebAuthnTransportLocaleTest to new framework (#47312)
Closes #46503


Signed-off-by: Jimmy Chakkalakal <jimmy.chakkalakal@ibm.com>
2026-03-25 09:06:53 +01:00
Hager Khamis
13897b9b32
Adding getResourcesCommonUrl() to UrlBean (#47113)
I added getResourcesCommonUrl() following the same URL/Path pattern already used by getResourcesUrl() and getResourcesPath(). Email clients can't resolve relative paths so the existing getResourcesCommonPath() wasn't enough for email templates.

I also pulled out the common-path lookup into a private getCommonPath() helper to avoid duplicating it between getResourcesCommonPath() and the new method. Updated the theme docs with a usage example and a note about absolute URLs in emails.

Closes #33198

Signed-off-by: Hager Khamis <hagerm98@hotmail.com>
2026-03-25 07:45:52 +00:00
rmartinc
e9b27d04f5 Add option to store tokens in session for Identity Providers
Closes #47185

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-03-24 19:22:43 +01:00
Giuseppe Graziano
865edcea36 Client policies for identity brokering api
Closes #46585

Signed-off-by: Giuseppe Graziano <g.graziano94@gmail.com>
2026-03-24 19:00:51 +01:00
vramik
8afd4be55a Reject invalid resource IDs in permission creation
Closes #40921

Signed-off-by: vramik <vramik@redhat.com>
2026-03-24 14:40:24 -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
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
Thomas Diesler
d38ee4c110 [OID4VCI] Migrate preauth offer tests to separate package
Signed-off-by: Thomas Diesler <tdiesler@proton.me>
2026-03-24 09:11:04 +01:00
rmartinc
fa79f27415 Chage identity brokering API V2 to only allow confidential clients
Closes #47256

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-03-23 14:40:41 +01:00
forkimenjeckayang
6e2ee6659e
Migrate OID4VCKeyAttestationTest to the new testsuite (#47289)
closes #46599

Signed-off-by: forkimenjeckayang <forkimenjeckayang@gmail.com>
2026-03-23 10:29:52 +01:00
Giuseppe Graziano
b6b008c811 [OID4VCI] Improve signing key selection
Closes #45385

Signed-off-by: Giuseppe Graziano <g.graziano94@gmail.com>
2026-03-23 10:26:45 +01:00
Stian Thorgersen
5179433eee
Introduce new mechanism for selecting tests for database testsuite (#47308)
Closes #47307

Signed-off-by: stianst <stianst@gmail.com>
2026-03-23 07:23:37 +01:00
Thomas Diesler
53e7bdf1fe
[OID4VCI] Secure-by-Default and Default Disablement of Pre-Authorized… (#47270)
closes #46396


Signed-off-by: Thomas Diesler <tdiesler@proton.me>
2026-03-20 17:30:29 +01:00
Ricardo Martin
b93695eb90
Add versioning to identity brokering api feature (#47281)
Closes #47254

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-03-20 16:55:56 +01:00
Thomas Diesler
fc7f56f6a3 [OID4VCI] Migrate OID4VCJWTIssuerEndpointTest (cleanup)
Signed-off-by: Thomas Diesler <tdiesler@proton.me>
2026-03-19 16:19:54 +01:00
Lukas Hanusovsky
bcd1dafba7
New Tests - updated documenation (#47231)
Signed-off-by: Lukas Hanusovsky <lhanusov@redhat.com>
2026-03-19 13:51:15 +01:00
mposolda
302ff9f7c2 [OID4VCI] Small inconsistencies in some events
Some checks failed
Weblate Sync / Trigger Weblate to pull the latest changes (push) Has been cancelled
closes #47203

Signed-off-by: mposolda <mposolda@gmail.com>
2026-03-18 18:46:48 +01:00
Stian Thorgersen
b61b26038e
Add check for missing test packages in base testsuite and add missing packages
Signed-off-by: stianst <stianst@gmail.com>
2026-03-18 15:02:54 +00:00
Stian Thorgersen
f4b701869a
Check refresh request resource param matches original resource param. (#47258)
Includes some NPE fixes (no client attribute) and refactors handling of verifying authz request resource param matching token request resource param.

Closes #47180

Signed-off-by: stianst <stianst@gmail.com>
2026-03-18 15:36:57 +01:00
Giuseppe Graziano
ffede3925e Run oid4c package in Base2TestSuite
Closes #47226

Signed-off-by: Giuseppe Graziano <g.graziano94@gmail.com>
2026-03-18 13:23:28 +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