Commit graph

395 commits

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

Signed-off-by: Alex Szczuczko <aszczucz@redhat.com>
2026-05-28 10:07:19 +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
Thomas DELORGE
a988875ac4
docs(workflows): fix offboarding example revoke-role role list format
Closes #49140

The revoke-role step expects multivalued role names, not a
comma-separated string.

Signed-off-by: Thomas DELORGE <thomas.delorge@orbeet.io>
2026-05-20 23:31:45 +02:00
Giuseppe Graziano
a1405663f7 Token introspection now validates audience claim. UserInfo endpoint rejects lightweight access tokens.
Some checks failed
Weblate Sync / Trigger Weblate to pull the latest changes (push) Has been cancelled
Closes #49113

Signed-off-by: Giuseppe Graziano <g.graziano94@gmail.com>
2026-05-20 18:23:06 +02:00
vramik
10d50847df Improve documentation for cases when migrating from FGAP:V1 to V2
Closes #48588

Signed-off-by: vramik <vramik@redhat.com>
2026-05-11 08:10:39 -03:00
Faseela K
26c2a9e3ed
pre-compute password denylist Bloom filter to speed up server startup
Fixes #47356

Signed-off-by: Faseela K <faseela.k@est.tech>
2026-05-07 16:01:12 +02:00
Sar
263d44be88
Changes to address Org subdomain matching (#45190)
Signed-off-by: sar <sar.haidar@gmail.com>
2026-05-05 08:53:15 +02:00
Sven-Torben Janus
67ef87bd21
Make OrganizationGroupMembershipMapper claim name configurable (#47852)
* Make OrganizationGroupMembershipMapper claim name configurable

The OrganizationGroupMembershipMapper introduced in 26.6.0 hardcoded
the token claim name to "organization", unlike OrganizationMembershipMapper
which already exposes the claim name as a configurable property.

- Add TOKEN_CLAIM_NAME config property to OrganizationGroupMembershipMapper
  via OIDCAttributeMapperHelper.addTokenClaimNameConfig()
- Override getEffectiveModel() to default the claim name to
  OAuth2Constants.ORGANIZATION when not set, preserving backward
  compatibility for existing mapper configurations
- Set TOKEN_CLAIM_NAME default in the static create() factory method
- Refactor OIDCAttributeMapperHelper.getOrInitializeOrganizationClaimAsMap()
  to accept a ProtocolMapperModel instead of a raw String, delegating
  to mapClaim() for correct claim placement (including nested path support)

Closes #47851

Signed-off-by: Sven-Torben Janus <sven-torben.janus@conciso.de>

* Fix nested claim path read and add custom claim name tests

The read side of getOrInitializeOrganizationClaimAsMap was doing a flat
Map.get() on the dotted claim name, while the write side (mapClaim) already
creates a nested structure by splitting on dots. This caused the group mapper
to find nothing when the claim name contained a dot, overwriting the
membership data written by OrganizationMembershipMapper.

Fix by splitting the claim path via splitClaimPath() and traversing the
nested map with a new private getNestedClaimValue() helper in
OIDCAttributeMapperHelper. The helper belongs there rather than in JsonUtils
because it operates on Map<String,Object>, not JsonNode.

Also add integration tests covering:
- Custom flat claim name ("my_orgs") for both OrganizationMembershipMapper
  and OrganizationGroupMembershipMapper, verifying the claim appears at the
  configured name and not at "organization"
- Dotted claim name ("custom.org") for OrganizationGroupMembershipMapper,
  verifying the token contains nested otherClaims["custom"]["org"] and that
  group composition is preserved

Signed-off-by: Sven-Torben Janus <sven-torben.janus@conciso.de>

---------

Signed-off-by: Sven-Torben Janus <sven-torben.janus@conciso.de>
2026-05-04 16:30:59 +02:00
Alexander Schwartz
afe94e5ae3
Adding blank lines at the beginning to render content correctly (#48531)
Closes #48529

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-04-30 07:21:42 +02:00
Thomas Darimont
8b357d610a Generalize user search prefix lookups via UserSearchPrefix enum (#26602)
- Introduce UserSearchPrefix enum in SearchQueryUtils pairing each prefix
(id:, username:, email:) with its UserProvider lookup,
plus a splitTerms helper backed by a precompiled "\\s+" pattern
- Collapse duplicate prefix branches in UsersResource#getUsers,
UsersResource#getUsersCount and BruteForceUsersResource#searchUser
- BruteForceUsersResource: support multi-term lookups (e.g. "username:foo bar"),
aligning with UsersResource
- Tests: add searchByUsernameSearch / searchByEmailSearch covering
single-term, multi-term and whitespace-tolerant variants
- Docs: add "Search by fields" section to proc-searching-user.adoc

Fixes #26602

Signed-off-by: Thomas Darimont <thomas.darimont@googlemail.com>
2026-04-29 15:12:53 -03:00
vramik
e1329516d5 Introduce ORGANIZATIONS resource type in Fine-Grained Admin Permissions
Closes #47284

Signed-off-by: vramik <vramik@redhat.com>
2026-04-29 11:10:05 -03:00
Martin Bartoš
46069e23ec
Conditional modal for passkeys platform authenticator
Closes #29558

Signed-off-by: Martin Bartoš <mabartos@redhat.com>
2026-04-28 19:57:28 +02:00
rmartinc
3ba245c39c Make acceptable AAGUID ckeck in WebAuthn stricter
Closes #48388

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-04-27 08:52:24 -03:00
Niko Köbler
e5ca2a6709
Enable to set mediation property for WebAuthn passwordless authentication (#46960)
possible values: conditional, optional, required, silent
conditional remains the default to not break the current behavior

when optional or required and the user dismissed the modal, it will stay hidden for this auth-session, can still be opened by button

adjusted all related resources, like JS files (also consolidated duplicated logic), Java classes and freemarker template

tests extended

passkey documentation extended/updated

closes #46959

Signed-off-by: Niko Köbler <niko@n-k.de>
2026-04-27 10:07:09 +02:00
foliengriller
7c1a226823
Update SAML documentation with default cache TTL (#48373)
Added default cache TTL for SAML metadata to documentation.

Signed-off-by: foliengriller <info@simpelwebservice.de>
2026-04-23 17:23:36 +02:00
Ruchika Jha
f03cdca35b
Add documentation changes for verifying the keycloak email for user
Closes #45856

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-04-21 21:18:38 +02:00
vramik
13560136cf Introduce manage-organizations, view-organizations admin roles for Organization management
Closes #45497
Closes #31641

Signed-off-by: vramik <vramik@redhat.com>
2026-04-21 11:45:35 -03:00
Alexander Schwartz
57917d982c
Remove preview feature sections from Kubernetes docs
Closes #48259

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-04-20 13:01:49 +02:00
Marek Posolda
72e0c26a35
Update password after email verification during registration of users (#47538)
closes #45568

Signed-off-by: mposolda <mposolda@gmail.com>
2026-04-17 15:15:48 +02:00
Ricardo Martin
08432969a4
Add info note to the X.509 Canonical DN representation enabled option
Closes #48123

Signed-off-by: rmartinc <rmartinc@redhat.com>
Co-authored-by: Martin Bartoš <mabartos@redhat.com>
2026-04-17 14:33:29 +02:00
Oluwatobi Mustapha
cb0709694f
Allow organization IdPs for members linked to another broker
Closes #47431
2026-04-15 08:57:38 -03:00
Alexander Schwartz
16d72a5980 Fixing explicit docs anchor for organizations
Closes #48015

Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-04-14 09:19:29 -03:00
Asish Kumar
9130641970
Rename 'Pre-Authorized Code Lifespan' to 'Credential Offer Lifespan' (#47563)
Some checks failed
Weblate Sync / Trigger Weblate to pull the latest changes (push) Has been cancelled
Closes #47274



Signed-off-by: Asish Kumar <officialasishkumar@gmail.com>
Signed-off-by: Marek Posolda <mposolda@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Marek Posolda <mposolda@gmail.com>
2026-04-10 17:10:14 +02:00
vramik
de81c0a421 Fix requesting tokens with multiple organization scopes
Fixes #45900

Signed-off-by: vramik <vramik@redhat.com>
2026-04-09 07:55:28 -03:00
Thomas Riccardi
3d2ab9cec7
fix typo extraneous $ template in doc (#47861)
Closes #47867

`${project_name}` is rendered `$Keycloak`, cf https://www.keycloak.org/docs/26.6.0/server_admin/#_identity_broker_kubernetes

Signed-off-by: Thomas Riccardi <thomas@deepomatic.com>
2026-04-08 20:05:10 +02:00
forkimenjeckayang
f9e1879d4b
[OID4VCI] Fix OID4VCI token typ defaults by credential format (#47779)
closes #45420


Signed-off-by: forkimenjeckayang <forkimenjeckayang@gmail.com>
2026-04-08 16:49:44 +02:00
Stefan Guilhen
7e8eb64a52
Add troubleshooting section to workflows documentation
- also add workflows as supported in release notes

Closes #47692

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-04-02 00:05:04 +02:00
Stefan Guilhen
031b6604a2 Ensure all workflow steps are described in the documentation.
- also change name of add/remove required action providers to better align with other step providers.

Closes #47655

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-04-01 09:10:59 -03:00
Giuseppe Graziano
46d1c4fa5a Sender constrained tokens for token exchange
Closes #46092

Signed-off-by: Giuseppe Graziano <g.graziano94@gmail.com>
2026-04-01 10:23:51 +02:00
Stefan Guilhen
d24d2697aa Add SPI option to setup the start time of the workflows step runner task
Closes #47540

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-03-27 16:30:15 -03:00
mposolda
02be20e9fa Inaccuracies in client federation documentation and tooltips
closes #47444

Signed-off-by: mposolda <mposolda@gmail.com>
2026-03-26 10:01:29 +01:00
Stian Thorgersen
763bade3bf
Fix link to Facebook docs (#47422)
Signed-off-by: stianst <stianst@gmail.com>
2026-03-25 08:57:44 +01:00
mposolda
3f1567c7af Update authentication section in the Server Admin Guide Features section
Some checks are pending
Weblate Sync / Trigger Weblate to pull the latest changes (push) Waiting to run
closes #47393

Signed-off-by: mposolda <mposolda@gmail.com>
2026-03-24 19:26:50 +01:00
Tero Saarni
50517cf933
Reload password blacklist file on change without restart
Fixes #47163

Signed-off-by: Tero Saarni <tero.saarni@est.tech>
2026-03-21 20:07:00 +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
Martin Kanis
db9a9d0de4 Fix organizations group docs to not include parent group in token claims
Closes #45516

Signed-off-by: Martin Kanis <mkanis@redhat.com>
2026-03-11 09:30:33 -03:00
vramik
367f9e2cc8 Organization Groups Documentation
Closes #45516

Signed-off-by: vramik <vramik@redhat.com>
2026-03-10 10:31:50 -03:00
Oluwatobi Mustapha
24a819eabc
Fix FGAP deny evaluation for manage-group-membership
Add the missing Users FGAP scope alias from manage-group-membership to Groups manage-membership so deny permissions on group members apply during user membership updates.

Add a regression test covering a protected group member, an unrelated user, and the no-mutation postcondition after a forbidden request.

Closes keycloak#46693
2026-03-09 12:01:17 -03:00
Ricardo Martin
9a28dc31d4
Set custom audiences per client in the jwt audience executor (#46532)
Some checks failed
Weblate Sync / Trigger Weblate to pull the latest changes (push) Has been cancelled
Closes #46525

Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-03-03 11:42:18 +01:00
Giuseppe Graziano
ebfc294c85
Executor for client uris pattern validation (#46300)
Some checks failed
Weblate Sync / Trigger Weblate to pull the latest changes (push) Has been cancelled
Closes #45645

Signed-off-by: Giuseppe Graziano <g.graziano94@gmail.com>
2026-02-24 16:26:00 +01:00
Ricardo Martin
2bd386842a
Step up authentication for saml - preview (#44185)
Closes #10155


Signed-off-by: rmartinc <rmartinc@redhat.com>
2026-02-23 19:57:00 +01:00
Peter Skopek
248c635fda Rename Docker Registry to Distribution Registry
Closes #45163

Signed-off-by: Peter Skopek <peter.skopek@ibm.com>
2026-02-20 13:57:30 +01:00
Tero Saarni
128384ca15
Implement forced password change for LDAP federated user (password policy control) (#15253)
* Add limited support for LDAP password policy control

Signed-off-by: Tero Saarni <tero.saarni@est.tech>
2026-02-20 09:15:51 -03:00
Michal Vavřík
8e816f749c
feat: Update container images to use OpenJDK 25 (#46386)
This PR is mostly based on 303446b465.
Additionally, I made few tweaks to documentation and introduce a doc variable for the recommended Java version so limit required changing when migrating the recommended JDK version.

* Closes: https://github.com/keycloak/keycloak/issues/45830

Signed-off-by: Michal Vavřík <michal.vavrik@aol.com>
2026-02-17 15:35:46 +01: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
c17d9d0d0c Add section about handling failures to the workflows documentation
Closes #45175

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-02-13 12:01:00 -03:00
Pedro Igor
8df79202a0
Fixing organization members docs to mention they can join multiple organizations
Closes #46040

Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
2026-02-13 14:54:10 +01:00
Hugo Hakim Damer
292a177b10
[OID4VCI] Add support for nested claims in OID4VCI user attribute mapper (#45751)
Closes #45748


Signed-off-by: Hugo Hakim Damer <HugoHakim.Damer@governikus.de>
2026-02-06 10:57:12 +01:00
Aggelos Sachtouris
28bb0b2cd9 Create documentation for unlink user workflow step
Signed-off-by: Aggelos Sachtouris <aggelos_sachtouris@hotmail.com>
2026-02-05 12:22:37 -03:00
Stefan Guilhen
63d9a19982 Allow step-runner-task-timeout to be specified using ISO-8601 format
Closes #45987

Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
2026-02-03 14:53:19 -03:00