Commit graph

31121 commits

Author SHA1 Message Date
Alex Szczuczko
d5066509a2
Clarify documentation of OS-level dependencies for Kerberos (#45764)
Some checks are pending
Weblate Sync / Trigger Weblate to pull the latest changes (push) Waiting to run
Closes #32527

Signed-off-by: Alex Szczuczko <aszczucz@redhat.com>
2026-05-28 10:07:19 +02:00
Giuseppe Graziano
13af014dc1 add clickable client
Closes #46208

Signed-off-by: Giuseppe Graziano <g.graziano94@gmail.com>
2026-05-28 08:13:11 +02:00
Giuseppe Graziano
9cf871e289 admin ui for issued credential
Closes #46208

Signed-off-by: Giuseppe Graziano <g.graziano94@gmail.com>
2026-05-28 08:13:11 +02:00
Šimon Vacek
91da2bd5a9
Update commit-migration script (#49367)
Closes: #49366

Signed-off-by: Simon Vacek <simonvacky@email.cz>
2026-05-28 08:03:13 +02:00
Palash Thakur
07d30b650a
Format Terms and Conditions accepted timestamp (#49031)
Closes #44591

Signed-off-by: Palash Thakur <palash@LAPTOP-8OJ5UPT8.localdomain>
Co-authored-by: Palash Thakur <palash@LAPTOP-8OJ5UPT8.localdomain>
2026-05-28 07:59:43 +02:00
Weblate (bot)
dddf24e3ed
Translations update from Hosted Weblate (#49135)
Some checks are pending
Weblate Sync / Trigger Weblate to pull the latest changes (push) Waiting to run
* Updated translation for German

Language: de

Updated translation for German

Language: de

Updated translation for German

Language: de

Updated translation for German

Language: de

Updated translation for German

Language: de

Updated translation for German

Language: de

Updated translation for German

Language: de

Updated translation for German

Language: de

Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Co-authored-by: Christoph Kisfeld <spam@b-web.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Robin <39960884+robson90@users.noreply.github.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Signed-off-by: Christoph Kisfeld <spam@b-web.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Robin <39960884+robson90@users.noreply.github.com>

* Updated translation for Ukrainian

Language: uk

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (1 of 1 strings)

Updated translation for Ukrainian

Language: uk

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (1 of 1 strings)

Updated translation for Ukrainian

Language: uk

Updated translation for Ukrainian

Language: uk

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Oleksandr Bilko <git@bil.co.ua>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Oleksandr Bilko <git@bil.co.ua>
Translate-URL: https://hosted.weblate.org/projects/keycloak/keycloak-e-mail-theme/uk/
Translate-URL: https://hosted.weblate.org/projects/keycloak/keycloak-v2-login-theme/uk/
Translation: Keycloak/Keycloak E-mail theme
Translation: Keycloak/Keycloak v2 Login theme

* Translated using Weblate (Czech)

Currently translated at 100.0% (1 of 1 strings)

Added translation using Weblate (Czech)

Translated using Weblate (Czech)

Currently translated at 100.0% (1 of 1 strings)

Added translation using Weblate (Czech)

Translated using Weblate (Czech)

Currently translated at 100.0% (1 of 1 strings)

Added translation using Weblate (Czech)

Translated using Weblate (Czech)

Currently translated at 100.0% (1 of 1 strings)

Added translation using Weblate (Czech)

Updated translation for Czech

Language: cs

Updated translation for Czech

Language: cs

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Peter Schiffer <peter@pschiffer.eu>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Peter Schiffer <peter@pschiffer.eu>
Translate-URL: https://hosted.weblate.org/projects/keycloak/keycloak-e-mail-theme/cs/
Translate-URL: https://hosted.weblate.org/projects/keycloak/keycloak-login-theme/cs/
Translate-URL: https://hosted.weblate.org/projects/keycloak/keycloak-v2-login-theme/cs/
Translate-URL: https://hosted.weblate.org/projects/keycloak/keycloak-welcome-theme/cs/
Translation: Keycloak/Keycloak E-mail theme
Translation: Keycloak/Keycloak Login theme
Translation: Keycloak/Keycloak Welcome theme
Translation: Keycloak/Keycloak v2 Login theme

* Updated translation for Indonesian

Language: id

Updated translation for Indonesian

Language: id

Updated translation for Indonesian

Language: id

Updated translation for Indonesian

Language: id

Translated using Weblate (Indonesian)

Translation: Keycloak/Admin backend
Translate-URL: https://hosted.weblate.org/projects/keycloak/theme-baseadmin/id/

Updated translation for Indonesian

Language: id

Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Arif Budiman <arifpedia@gmail.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>

* Updated translation for French

Language: fr

Updated translation for French

Language: fr

Updated translation for French

Language: fr

Updated translation for French

Language: fr

Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Sylvain Pichon <service@spichon.fr>

* Updated translation for Slovenian

Language: sl

Updated translation for Slovenian

Language: sl

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Lenart Bučar <lenart.bucar@gmail.com>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Lenart Bučar <lenart.bucar@gmail.com>

---------

Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Signed-off-by: Christoph Kisfeld <spam@b-web.org>
Signed-off-by: Hosted Weblate <hosted@weblate.org>
Signed-off-by: Robin <39960884+robson90@users.noreply.github.com>
Signed-off-by: Oleksandr Bilko <git@bil.co.ua>
Signed-off-by: Peter Schiffer <peter@pschiffer.eu>
Signed-off-by: Arif Budiman <arifpedia@gmail.com>
Signed-off-by: Sylvain Pichon <service@spichon.fr>
Signed-off-by: Lenart Bučar <lenart.bucar@gmail.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Co-authored-by: Christoph Kisfeld <spam@b-web.org>
Co-authored-by: Robin <39960884+robson90@users.noreply.github.com>
Co-authored-by: Oleksandr Bilko <git@bil.co.ua>
Co-authored-by: Peter Schiffer <peter@pschiffer.eu>
Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: Sylvain Pichon <service@spichon.fr>
Co-authored-by: Lenart Bučar <lenart.bucar@gmail.com>
2026-05-28 00:19:14 +02:00
Lukas Hanusovsky
9f25951708
Test migration util - Fixing WebAuthn Page rewrite message. (#49371)
Signed-off-by: Lukas Hanusovsky <lhanusov@redhat.com>
2026-05-27 23:52:40 +02:00
Martin Bartoš
16fc31dfee
Unify buttons in horizontal layout for Login UI
Closes #49372

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-05-27 23:51:02 +02:00
Martin Bartoš
0c4a4714c6
Login page title should use full width when locale selector is hidden (#49381)
Closes #49378

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-05-27 12:51:05 -04:00
Ricardo Martin
63e3bb9a6e
Add parameter column to consent tables for dynamic scopes
Closes #9686

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-05-27 18:14:20 +02:00
Steven Hawkins
8d94475879
Client streaming for admin api v2 (#47611)
Some checks are pending
Weblate Sync / Trigger Weblate to pull the latest changes (push) Waiting to run
* demonstrates client side streaming

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

* fix: adding client streaming support

closes: #47542

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

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Steven Hawkins <shawkins@redhat.com>

* using onClose instead of the proxy close

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

* Update integration/admin-client/src/main/java/org/keycloak/admin/client/spi/StreamMessageBodyReader.java

Co-authored-by: Peter Zaoral <pepo48@gmail.com>
Signed-off-by: Steven Hawkins <shawkins@redhat.com>

---------

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
Signed-off-by: Steven Hawkins <shawkins@redhat.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Peter Zaoral <pepo48@gmail.com>
2026-05-27 11:52:17 -04:00
mposolda
466368767b Admin support for sending credential offer by email
closes #46198

Signed-off-by: mposolda <mposolda@gmail.com>
2026-05-27 17:12:57 +02:00
Giuseppe Graziano
2e99d2e965
Migrate Standard token exchange tests (#47516)
Closes #47491
closes #48982 


Signed-off-by: Giuseppe Graziano <g.graziano94@gmail.com>
2026-05-27 16:33:56 +02:00
EspenRoth
4f06846693
Warn when running in a container without being PID 1 (#48479)
* Warn when running in a container without being PID 1

When KC_RUN_IN_CONTAINER=true but the process is not PID 1, graceful
shutdown may fail silently because signals are not forwarded correctly.
This adds a warning at startup to alert users to use exec in their
entrypoint scripts.

Closes #48059

Signed-off-by: Espen Roth <eroth1622@gmail.com>

* moving to java logic to avoid any command detection in the script

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

* Update quarkus/dist/src/main/content/bin/kc.sh

Co-authored-by: Peter Zaoral <pepo48@gmail.com>
Signed-off-by: Steven Hawkins <shawkins@redhat.com>

---------

Signed-off-by: Espen Roth <eroth1622@gmail.com>
Signed-off-by: Steve Hawkins <shawkins@redhat.com>
Signed-off-by: Steven Hawkins <shawkins@redhat.com>
Co-authored-by: Steve Hawkins <shawkins@redhat.com>
Co-authored-by: Peter Zaoral <pepo48@gmail.com>
2026-05-27 09:57:55 -04:00
Vinit Kumar
d110da3457
Fix POST /admin/realms/{realm}/clients-initial-access returning HTTP 200 instead of 201 (#49232)
* Fix clients-initial-access returning 200 instead of 201

The POST /clients-initial-access endpoint was returning 200 OK instead of
201 Created. The server-side create() method has been updated to return a
proper JAX-RS Response with status 201 and a Location header pointing to
the created resource.

A doCreate() method is added to the ClientInitialAccessResource Java client
interface returning the raw JAX-RS Response, allowing callers to access
HTTP-level details such as the status code and Location header that the
existing create() method hides.

A test is added using doCreate() to verify the 201 status and Location
header without modifying the existing typed create() interface.

Closes #49185

Signed-off-by: Vinit Kumar <30852363+ThreeMangoTrees@users.noreply.github.com>

* Removed doCreate method and corresponding test references

Signed-off-by: Vinit Kumar <30852363+ThreeMangoTrees@users.noreply.github.com>

* Address reviewer feedback: drop noise, fix test cleanup, add HttpResponse javadocs

- Revert whitespace-only change in admin-client ClientInitialAccessResource
- Fix testCreateReturns201WithLocationHeader to null-initialize id and
  delete in a finally block so cleanup always runs even if an assertion fails
- Add javadocs to HttpResponse.getStatus/setStatus warning that the value
  is overwritten by JAX-RS when a plain object (not Response) is returned

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Vinit Kumar <30852363+ThreeMangoTrees@users.noreply.github.com>

* Update server-spi/src/main/java/org/keycloak/http/HttpResponse.java

Co-authored-by: Steven Hawkins <shawkins@redhat.com>
Signed-off-by: Vinit Kumar <30852363+ThreeMangoTrees@users.noreply.github.com>

* Update server-spi/src/main/java/org/keycloak/http/HttpResponse.java

Co-authored-by: Steven Hawkins <shawkins@redhat.com>
Signed-off-by: Vinit Kumar <30852363+ThreeMangoTrees@users.noreply.github.com>

---------

Signed-off-by: Vinit Kumar <30852363+ThreeMangoTrees@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Steven Hawkins <shawkins@redhat.com>
2026-05-27 08:42:12 -04:00
Ruchika Jha
96ea0521d2
Filtering out headers from external IP addresses in Traefik
Closes keycloak/keycloak#49092

Signed-off-by: Ruchika <ruchika.jha1@ibm.com>
2026-05-27 12:29:34 +02:00
Daniel Lekberg
619484aace Adding client_id as prefix in client roles mapper
Closes https://github.com/keycloak/keycloak/issues/24823

Signed-off-by: Daniel Lekberg <daniel.lekberg@redpill-linpro.com>
2026-05-27 11:41:35 +02:00
bal1imb
232e72b692 Add a "briefRepresentation" query param to the "/applications/{clientId}/consent" endpoint (defaults to true).
If set to "false", the endpoint will provide an enhanced ConsentScopeRepresentation.

Closes #24436

Signed-off-by: bal1imb <Artur.Baltabayev@bosch.com>
2026-05-27 11:39:23 +02:00
Šimon Vacek
c27289432e
Move the rest of TestingResource methods to a utils-shared helper class (2/2) (#49241)
* Move the rest of TestingResource methods to a utils-shared helper class (2/2)

Closes: #48942

Signed-off-by: Simon Vacek <simonvacky@email.cz>

* review fix

Signed-off-by: Simon Vacek <simonvacky@email.cz>

---------

Signed-off-by: Simon Vacek <simonvacky@email.cz>
2026-05-27 07:51:13 +02:00
Ryan Emerson
5253082605
Update HaProxySslClientCertificateLookup to load Base64 encoded DER Chain
Closes #49180

Signed-off-by: Ryan Emerson <remerson@ibm.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@gmx.net>
Co-authored-by: Alexander Schwartz <alexander.schwartz@gmx.net>
2026-05-26 20:32:59 +00:00
Alex Szczuczko
f59ea30dc3
Use appropriate cross-reference syntax in the UI Customization guide
Closes #49224

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Signed-off-by: Alex Szczuczko <aszczucz@redhat.com>
2026-05-26 22:16:45 +02:00
Alexander Schwartz
21ca050027
Avoid log-and-throw for Hibernate's SQL exceptions
Closes #49265

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-05-26 22:08:34 +02:00
Stefan Guilhen
4ac2dad432 Ensure workflows can't be managed through the Component API.
Closes #49060

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-05-26 16:19:54 -03:00
Thomas Darimont
b22b1b2b45 SSF: handle read-only user stores when toggling ssf.notify attributes
Auto-notify-on-login (and the subject-management endpoints) wrote the
ssf.notify.<clientId> attribute unconditionally, which threw a
ReadOnlyException for users backed by a read-only LDAP federation with
import disabled — surfacing as a per-login ERROR and failing to subscribe
the user.

- Guard the ssf.notify / tombstone writes (user + org) so they only run
  when the stored value would actually change; redundant calls are now
  no-ops instead of failing on read-only stores.
- autoNotifyOnLogin catches ReadOnlyException (WARN + skip) so a read-only
  user no longer disrupts login; non-ReadOnlyException still propagates.
- Subject-management API returns SUBJECT_READ_ONLY (409) instead of a 500
  when the subject is backed by a read-only store.
- Add unit tests for the write guards and the listener's read-only handling.

Fixes #49250

Signed-off-by: Thomas Darimont <thomas.darimont@googlemail.com>
2026-05-26 14:45:10 -03:00
Thomas Darimont
214baafedc SSF: Move push timeout settings to the SSF Receiver tab (#49235)
Push Connect/Socket Timeout were only rendered on the Stream tab inside
the "stream exists" branch, so admins could not configure them before a
stream was created. Move both controls to the Receiver tab's Delivery
section, shown only when push delivery is allowed for the receiver.

The timeouts are already stored as receiver client attributes
(ssf.pushEndpointConnectTimeoutMillis / ssf.pushEndpointSocketTimeoutMillis),
so this is a UI-only relocation — no backend, representation, or save-path
change.

Fixes #49235

Signed-off-by: Thomas Darimont <thomas.darimont@googlemail.com>
2026-05-26 14:42:40 -03:00
muskan-mehrotra
ad963988ee fix: handle missing realm gracefully in UserStorageEventListener on realm deletion - Fixes #48904
Signed-off-by: muskan-mehrotra <muskan20mehrotra@gmail.com>
2026-05-26 14:27:03 -03:00
Stefan Guilhen
55126dc916 Fix temporary password not persisting UPDATE_PASSWORD for AD federated users
Closes #48877

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-05-26 10:41:31 -03:00
Sebastian Łaskawiec
3e8a1310d9
Enable configurable client_id parameter validation for federated client assertions (#48026)
Closes #48024


Signed-off-by: Sebastian Łaskawiec <sebastian.laskawiec@defenseunicorns.com>
2026-05-26 15:14:36 +02:00
Erik Jan de Wit
71e63e99dc
moved AdminEnvironment to seperate file (#48039)
* moved AdminEnvironment to seperate file

fixes: #48038
Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* code review

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

---------

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>
2026-05-26 07:19:08 -04:00
Ricardo Martin
00afdeeb0b
Use datatracker.ietf.org instead of www.rfc-editor.org for specs
Closes #49288

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-05-26 12:38:49 +02:00
Steven Hawkins
30a97da0f3
upgrade pnpm version (#48975)
* task: upgrading pnpm to 11.1.3

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

* switching to 11.1.1

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

---------

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
2026-05-26 12:33:59 +02:00
Stefan Guilhen
d0590bc9b9 Fix location of SCIM resources so IDs don't appear twice in the URL
Closes #49176

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-05-26 07:33:24 -03:00
Ricardo Martin
090549c7de
Revert back to use Java 25 in FIPS CI scripts (#49290)
Closes #49194

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-05-26 12:07:38 +02:00
bu6n
3ed18221ec
fix quick theme export to contain variables for both light and dark mode (#49125) (#49322)
Signed-off-by: bu6n <b@u6n.ch>
2026-05-26 09:00:23 +00:00
Dominik Schlosser
2e2d06dab7 [OID4VCI] Self-Signed x5c Bypasses Key Attestation Validation
Signed-off-by: Dominik Schlosser <dominik.schlosser@gmail.com>
2026-05-26 08:32:45 +02:00
Giuseppe Graziano
77b1d13578 add revoke endpoint to issued credentials APIs
Closes #46207

Signed-off-by: Giuseppe Graziano <g.graziano94@gmail.com>
2026-05-26 08:28:04 +02:00
Martin Bartoš
629e86afd2
Disable the Account UI when the ACCOUNT feature is disabled (#48807)
Closes #48806

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-05-25 15:37:15 +02:00
Angel-Tornero
577bddb8e5 Fix broken SAML 2.0 specification links in documentation
Closes #48611

Signed-off-by: Angel-Tornero <angeltornerohdez@gmail.com>
2026-05-25 14:42:22 +02:00
Michal Vavřík
8171999894
feat(admin api v2): stricter Client v2 contracts (#48935)
* Closes: https://github.com/keycloak/keycloak/issues/48786
* Changes:

| Schema#Property | New Validation Constraint | Reasoning |
|-----------------|--------------------------|-----------|
| BaseClientRepresentation#clientId | `@Size(min=1, max=255)` | DB VARCHAR(255) |
| BaseClientRepresentation#displayName | `@Size(max=255)` | DB NVARCHAR(255) |
| BaseClientRepresentation#description | `@Size(max=255)` | DB NVARCHAR(255) |
| BaseClientRepresentation#appUrl | `@Size(max=255)` | DB VARCHAR(255) |
| BaseClientRepresentation#redirectUris | `@Size(max=100)` on set, `@Size(max=255)` on elements | DB VARCHAR(255) per element, bound collection |
| BaseClientRepresentation#roles | `@Size(max=300)` on set, `@Size(max=255)` on elements | DB VARCHAR(255) per element, bound collection |
| OIDCClientRepresentation#webOrigins | `@Size(max=100)` on set, `@Size(max=255)` on elements | DB VARCHAR(255) per element, bound collection |
| OIDCClientRepresentation#webOrigins | `@ValidWebOrigin` | RFC 6454 format, invalid origins silently break CORS |
| OIDCClientRepresentation#serviceAccountRoles | `@Size(max=300)` on set, `@Size(max=255)` on elements | DB VARCHAR(255) per element, bound collection |
| OIDCClientRepresentation.Auth#method | `@NotBlank` | must be specified when auth object is present |
| OIDCClientRepresentation.Auth#method | `@ValidAuthMethod` | open SPI, dynamic check against registered providers |
| OIDCClientRepresentation.Auth#secret | `@Size(min=6, max=255)` | DB VARCHAR(255), min=6 prevents trivially weak secrets |
| OIDCClientRepresentation.Auth#certificate | `@Size(max=65536)` | NCLOB unlimited, practical upper bound |
| OIDCClientRepresentation (class-level) | `@ConfidentialFlowsRequireAuth` | SERVICE_ACCOUNT/TOKEN_EXCHANGE fail at runtime without auth |
| OIDCClientRepresentation (class-level) | `@RedirectFlowsRequireUris` | STANDARD/IMPLICIT fail at runtime without redirect URIs |
| OIDCClientRepresentation (class-level) | `@ServiceAccountRolesRequireFlow` | roles silently ignored without SERVICE_ACCOUNT flow |
| SAMLClientRepresentation#nameIdFormat | type changed to enum `NameIdFormat` | SAML 2.0 spec frozen since 2005, unlikely to change |
| SAMLClientRepresentation#signatureAlgorithm | type changed to enum | enum could change due to PQC, but we can simply update enum |
| SAMLClientRepresentation#signatureCanonicalizationMethod | `@ValidCanonicalizationMethod` | finite set from JDK constants, W3C standard unchanged since 2008 |
| SAMLClientRepresentation#signingCertificate | `@Size(max=65536)` | NCLOB unlimited, practical upper bound |

Signed-off-by: Michal Vavřík <michal.vavrik@aol.com>
2026-05-25 07:48:48 +00:00
jimmychakkalakal
16b518b52d
Issued credentials: Update db schema and admin rest api (#49201)
closes #46204



Signed-off-by: Jimmy Chakkalakal <jimmy.chakkalakal@ibm.com>
Co-authored-by: Marek Posolda <mposolda@gmail.com>
2026-05-25 09:41:15 +02:00
Dominik Schlosser
a1bd1ab855
Introduce mechanism for different trust material sources (#48869)
closes #48269



Signed-off-by: Dominik Schlosser <dominik.schlosser@gmail.com>
Signed-off-by: mposolda <mposolda@gmail.com>
Co-authored-by: mposolda <mposolda@gmail.com>
2026-05-25 08:12:28 +02:00
Ricardo Martin
94dcc24a8d
Upgrade playwright to avoid hangs on CI
Closes #49274

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-05-23 19:54:51 +02:00
Steven Hawkins
26ef6d1b08
task: using a beanparam for client listing options (#49074)
* task: using a beanparam for client listing options

closes: #48650

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

* just adding fluent methods

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

---------

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
2026-05-22 19:54:20 +02:00
Steven Hawkins
2ffb8b676e
fix: prevent service account name from being set in multi-namespace mode (#49036)
closes: #48382

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
2026-05-22 19:40:31 +02:00
Steven Hawkins
aea6b24242
fix: allowing the general use of synthetic wildcards (#48223)
also simplifying datasources logic

closes: #48214

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
2026-05-22 17:22:38 +00:00
Giuseppe Graziano
36513bae36
show/update credential attributes in admin/account ui (#49218)
Some checks failed
Weblate Sync / Trigger Weblate to pull the latest changes (push) Has been cancelled
Closes #48926

Signed-off-by: Giuseppe Graziano <g.graziano94@gmail.com>
2026-05-22 15:48:56 +02:00
AndyMunro
6b3241ea1f Fix Themes cross-reference
Closes #49222

Signed-off-by: AndyMunro <amunro@redhat.com>
2026-05-22 15:00:06 +02:00
Kosiorkosa47
c3f34c3515
Tighten UNSAFE_PATH_PATTERN against encoded path-traversal terminators (#49000)
* Tighten UNSAFE_PATH_PATTERN against encoded path-traversal terminators

Fixes #48978

Extends the regex to cover encoded forms that previously bypassed
detection:
  - %3B / %3b (encoded semicolon)
  - %09, %0A, %0D, %00 (control characters)
  - %252E (double-encoded dot)

These encodings do not produce actual path traversal on conformant
servers per RFC 3986 (percent-encoded characters are literals, not
delimiters), but are semantically close enough to the patterns the
regex was designed to block to warrant defense-in-depth coverage.

The end-of-input anchor ($) is moved into the terminator class to
collapse the two pattern alternatives into one, keeping the diff
minimal.

Test changes:
  - 8 new assertions covering encoded semicolons, control character
    terminators, and double-encoded dots.
  - 3 prior assertEquals flipped to assertNull (lines that previously
    asserted %252E%252E/, %252E%252E/#fragment, and ..%3Bsomething/
    were allowed are now expected to be blocked).
  - 1 new negative test confirming %3B as legitimate path content (not
    following a parent-folder sequence) still resolves.

Triple-encoded variants (e.g., %25252E) remain allowed; out of scope
for this issue.

Signed-off-by: Michał Kosiorek <michal.kosiorek@arklink.co>

* Update OAuthRedirectUriTest expectations for double-encoded dots

Follow-up to 36b0b10dd2 — Base IT (6) CI run for #49000 caught a
cross-module integration test that needed updating alongside the
regex change. Local verification of the previous commit covered the
services module (RedirectUtilsTest); testsuite/integration-arquillian
was outside that scope, so the existing OAuthRedirectUriTest.testWildcard
expectations for %252E%252E variants didn't flip with the regex.

Four assertions in testWildcard flipped from true → false to match the
Option A semantic introduced in 36b0b10dd2 (double-encoded dots are
now blocked by UNSAFE_PATH_PATTERN):

  http://example.com/foo/%252E%252E/
  http://example.com/foo/%252E%252E/?some_query_param=some_value
  http://example.com/foo/%252E%252E/?encodeTest=a%3Cb
  http://example.com/foo/%252E%252E/#encodeTest=a%3Cb

Triple-encoded (%25252E) and septuple-encoded variants remain
expected:true — recursive decoding is explicitly out of scope for
#48978.

Verified locally:
  - mvn -pl services -Dtest=RedirectUtilsTest test → 11/11 green.
  - Direct regex match against the four flipped URIs confirms
    UNSAFE_PATH_PATTERN matches each rawPath, mechanically equivalent
    to the verifyRedirectUri code path exercised by the arquillian test.

Refs #48978

Signed-off-by: Michał Kosiorek <michal.kosiorek@arklink.co>

---------

Signed-off-by: Michał Kosiorek <michal.kosiorek@arklink.co>
2026-05-21 17:23:27 +02:00
Ryan Emerson
4090a86495
Remove explicit --shutdown-timeouts configuration from proxy example configurations
Closes #49177

Signed-off-by: Ryan Emerson <remerson@ibm.com>
2026-05-21 16:08:34 +02:00
Pedro Ruivo
8d24c2f13e
Prevent access to the Admin API from external IP addresses for HAProxy
Closes #48684

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
2026-05-21 16:01:01 +02:00