PAGES
← all tools
◆ Identity & Access Management

Keycloak

1.0 commercial

Keycloak is an open-source identity and access management solution that provides single sign-onsingle sign-onSingle sign-on, using one identity provider to sign in to multiple applications. It reduces separate passwords and centralizes account and access management., authentication, and authorization for applications and services.

Summary

Keycloak is a commercial identity and access management platform that handles authentication, authorization, and user federation for applications and services, distributed under an open-source licence with no cost to run. It is self-hosted, deployed as a server or container image that a team runs and upgrades itself, and it is aimed at platform engineers and application developers who need to centralize login, single sign-on, and fine-grained permissions rather than build them into each app. Its documentation frames it around open standards like OIDCOIDCOpenID Connect, a sign-in protocol built on OAuth 2.0. An application uses identity information from a trusted provider instead of maintaining a separate password for each user., SAMLSAMLA standard for passing signed identity assertions between a sign-in provider and an application. It lets a user sign in through their organization's identity provider., and emerging specs such as AuthZen and Shared Signals, positioning it as an alternative to building custom auth or wiring together vendor-specific identity APIs. Multi-cluster support now works with any synchronously replicated database rather than requiring Infinispan, easing operational overhead. Launched in 2014 and still active, with 26 releases in the tracked window and the latest just 16 days old.

Keycloak is an open-source identity and access management solution that provides single sign-on, authentication, and authorization for applications and services.

How Keycloak helps

How do I let users sign in once and reach every app without wiring each one to its own login screen?

acts as the single OIDC/SAML identity provider for all the apps, issuing and validating tokens centrally so each service delegates authentication instead of implementing it

How do I stop building the same authorization checks into every service?

exposes a standardized permit/deny decision endpoint so policy enforcement points can request access decisions without coupling to app-specific logic

How do other systems find out immediately when a user's session is revoked or credentials change?

pushes signed security event tokens to subscribed receivers over push or poll delivery, backed by a durable outbox with retry so events aren't lost if a receiver is briefly unreachable

Can my identity provisioning to and from HR or governance tools be automated instead of scripted by hand?

offers a standard CRUD/PATCH provisioning API with filtering, pagination, and schema discovery so external systems create and deprovision users through a common protocol

Will a login in progress survive a rolling upgrade or cluster restart?

keeps authentication sessions, action tokens, and brute-force counters in the database rather than in-memory caches, so an in-flight login is not lost when nodes restart

Can I run identity across multiple clusters without standing up and babysitting a separate replication layer?

relies on whatever synchronously replicated database the cluster already uses for cross-cluster cache invalidation, removing the need for a dedicated Infinispan cluster and its failover monitoring

all 40 features, with the evidence for each →

Languages

Not documented

Features

40 capabilities across 4 capability groups · 11 backed by code, an API document or a real run

Built from Keycloak's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • Keycloak covers 1 of the 2 secrets and credential hygiene capabilities we track.

What Keycloak offers you

  • REST API9
  • Command-line interface3
  • Client SDKs1
  • Disaster recovery1
  • High-availability clustering1
  • Outbound webhooks (the product notifies you)1
  • Role-based access control1
  • Scheduled jobs1
  • SCIM provisioning API1
  • Web management console1
SAML SSO 2 features Identity and access since 2025
Admin API v2 verified Offers a new declarative API for managing OIDC and SAML clients with strict validation and generated client libraries for common languages. 7 releases · 121 other sources · first seen Jul 2026

Shared capability: SAML SSO

Also counts toward: Command-line interface, REST API, Client SDKs

release 7 total

  • Promotes Client Admin API v2 from experimental to preview, now enabled with --features=client-admin-api:v2 or --features=preview, supporting declarative OIDC and SAML client management with strict validation and an accurate OpenAPI specification. changelog · Oct 2026 · source · release history
  • Promotes Client Admin API v2 to preview, enabled with --features=client-admin-api:v2 or --features=preview, with a Java client, auto-generated JavaScript client, CLI, and Operator KeycloakClient custom resources. changelog · Oct 2026 · source · release history
  • Promotes Client Admin API v2 to preview with strict validation and accurate OpenAPI spec, enabled via --features=preview or --features=client-admin-api:v2, consumed by Java/JS clients, CLI, and Keycloak Operator CRs (KeycloakOIDCClient, KeycloakSAMLClient) Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Promotes KeycloakOIDCClient and KeycloakSAMLClient Operator custom resources to preview, enabling declarative client management via the Keycloak Operator. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Enables --features=preview or --features=client-admin-api:v2 to activate the Client Admin API v2 (promoted to preview), providing strict validation, declarative configuration, and an accurate OpenAPI spec for OIDC and SAML clients. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Introduces declarative client management REST API (Admin API v2) via client-admin-api:v2 feature flag Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source · release history

example

  • Enable the Client Admin API v2 for declarative, strictly validated OIDC/SAML client management with an accurate OpenAPI spec. bin/kc.sh start --features=client-admin-api:v2 changelog · Oct 2026 · source
  • Enable the Client Admin API v2 to manage OIDC and SAML clients declaratively with strict validation and an accurate OpenAPI spec. bin/kc.sh start --features=client-admin-api:v2 announced · Oct 2026 · source
  • Enable Admin API v2 to use the new declarative client management endpoints and OpenAPI spec. kc.sh start --features=client-admin-api:v2 Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source
  • Retrieve a realm's configuration. kcadm.sh get realms/demorealm
  • Create a new user in a realm. kcadm.sh create users -r demorealm -s username=alice -s enabled=true
  • Authenticate the admin CLI and cache the session. kcadm.sh config credentials --server http://localhost:8080 --realm master --user admin --password admin

api 115 total

Step-up authentication for SAML clients verified Allows SAML service providers to request a specific level of authentication, triggering stronger login steps when needed. 3 releases · 9 other sources · first seen Jun 2025

Shared capability: SAML SSO

Also counts toward: REST API

release

  • Promotes step-up authentication for SAML clients to supported status, enabling SAML service providers to request specific authentication context classes. Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source · release history
  • Promotes step-up authentication for SAML clients from preview to supported state Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source · release history
  • Automates SAML client certificate rotation via the Metadata descriptor URL setting in Signature and Encryption section 26.4.0 · Jun 2025 · source · release history

api 9 total

OIDC SSO 1 feature Identity and access since 2025
SSF Receiver client configuration verified Configures OIDC clients to receive shared signals, controlling which subjects they can observe and what permissions they hold. 5 releases · 12 other sources · first seen Jun 2025

Shared capability: OIDC SSO

Also counts toward: REST API

release

  • Configures SSF Receivers as standard OIDC clients with a per-client ssf.enabled toggle, ssf.read/ssf.manage scopes, and a defaultSubjects policy of ALL or NONE. Experimental Shared Signals Framework support (2026-07-03) · Jul 2026 · source · release history
  • Supports requiring the dpop_jkt parameter in OIDC authentication requests 26.4.0 · Jun 2025 · source · release history
  • Adds support for OAuth 2.0 DPoP tokens on Admin REST API and Account REST API endpoints 26.4.0 · Jun 2025 · source · release history
  • Allows public clients to bind only refresh tokens to DPoP, omitting access token binding 26.4.0 · Jun 2025 · source · release history
  • Adds fapi-2-dpop-security-profile and fapi-2-dpop-message-signing client profiles for FAPI 2 compliance 26.4.0 · Jun 2025 · source · release history

api 12 total

REST API 1 feature Interfaces and integrations since 2026
Admin REST API endpoint deprecations verified Marks older Admin API endpoints as deprecated so callers know which ones to migrate away from before they are eventually removed. 11 releases · 35 other sources · first seen Aug 2026

Shared capability: REST API

Also counts toward: REST API

release 11 total

  • Deprecated endpoint POST /admin/realms/{realm}/clients/{client-uuid}/certificates/{attr}/upload (still works) 1.0 · Oct 2026 · source · release history
  • Deprecated endpoint POST /admin/realms/{realm}/clients/{client-uuid}/certificates/{attr}/generate (still works) 1.0 · Oct 2026 · source · release history
  • Deprecated endpoint POST /admin/realms/{realm}/clients/{client-uuid}/certificates/{attr}/download (still works) 1.0 · Oct 2026 · source · release history
  • Deprecated endpoint POST /admin/realms/{realm}/clients/{client-uuid}/certificates/{attr}/generate-and-download (still works) 1.0 · Oct 2026 · source · release history
  • Deprecated endpoint PUT /admin/realms/{realm}/users/{user-id}/reset-password-email (still works) 1.0 · Aug 2026 · source · release history
  • Deprecated endpoint GET /admin/realms/{realm}/client-templates/{client-scope-id}/scope-mappings (still works) 1.0 · Aug 2026 · source · release history

api 35 total

Secrets management 1 feature Secrets and credential hygiene since 2025
Client secret rotation shipped Allows confidential clients to maintain up to two concurrently active client secrets via client policies, enabling seamless secret rotation without service interruption. 2 releases · first seen Nov 2025

Shared capability: Secrets management

release

  • Promotes Client Secret Rotation to supported status allowing confidential clients to keep up to two concurrently active secrets via client policies for seamless rotation Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Enables secrets lookup for clients via the Vault SPI, allowing management and retrieval of client secrets through the standard SPI interface 26.6.0 · Nov 2025 · source · release history
Other / not yet classified 35 features Features we have not matched to a capability yet. A suggested match is marked.
Organization fine-grained administration verified Lets administrators delegate organisation management tasks to specific roles without granting broader system-wide privileges. 10 releases · 52 other sources · first seen Jul 2026

Also counts toward: Role-based access control

release 10 total

  • Adds shared identity providers across organizations. changelog · Oct 2026 · source · release history
  • Adds invite-user workflow step that automatically sends an action-token email when a user is created, with configurable required actions, client, and redirect URI. changelog · Oct 2026 · source · release history
  • GET /admin/realms/{realm}/organizations/count: param identityProvider (query) added 1.0 · Oct 2026 · source · release history
  • New endpoint PUT /admin/realms/{realm}/organizations/{org-id}/members/{member-id}/membership-type 1.0 · Oct 2026 · source · release history
  • GET /admin/realms/{realm}/organizations: param identityProvider (query) added 1.0 · Oct 2026 · source · release history
  • New endpoint PUT /admin/realms/{realm}/organizations/{org-id}/identity-providers/{alias}⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ 1.0 · Oct 2026 · source · release history

api 52 total

SCIM provisioning API verified Exposes a SCIM endpoint so external systems can automate the full lifecycle of users and groups, including creation, updates, and removal. 6 releases · 36 other sources · first seen Jun 2022

Also counts toward: SCIM provisioning API

release

  • Promotes SCIM API to supported, adding multivalued user attributes, User Profile permissions, Fine-Grained Admin Permissions in search filters, and improved performance for large user bases. changelog · Oct 2026 · source · release history
  • Promotes SCIM API to supported status with extensive improvements including multivalued user attributes, User Profile permissions, Fine-Grained Admin Permissions in search filters, and performance improvements for large user bases Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Promotes the SCIM API to supported, adding multivalued user attributes, User Profile permissions, Fine-Grained Admin Permissions in search filters, and improved performance for large user bases. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Enables SCIM API for user/group provisioning via scim-api feature flag Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source · release history
  • Adds SCIM API (preview) for automating user and group provisioning and deprovisioning via standard CRUD, PATCH, filtering, pagination, and schema discovery endpoints. Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source · release history
  • Supports glob-like syntax (prefix, infix, exact) for User Search in the Admin Console 17.0.0 · Jun 2022 · source · release history

example

  • Enable SCIM provisioning endpoints in a running Keycloak instance. kc.sh start --features=scim-api Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source
  • Enable the SCIM API preview so HR systems or identity governance platforms can provision and deprovision users automatically. bin/kc.sh start --features=scim-api Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source
  • Search for users with usernames starting with admin or containing user in the Admin Console UI. Use prefix search `admin*` or infix search `*user*` in the User Search field in the Admin Console 17.0.0 · Jun 2022 · source

api 33 total

AuthZen Authorization API verified Exposes a standard AuthZEN endpoint so external applications can ask Keycloak whether a given action should be permitted or denied. 2 releases · 23 other sources · first seen Jul 2026

Also counts toward: REST API

release

  • Adds AuthZen Evaluation API (experimental) implementing the OpenID AuthZEN Authorization API 1.0, exposing single and batch PDP evaluation endpoints for vendor-neutral authorization decisions. Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source · release history
  • Implements AuthZen Evaluation API as Policy Decision Point via authzen feature flag Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source · release history

example

  • Enable the AuthZen PDP endpoint so PEPs can request standardized permit/deny decisions without coupling to Keycloak's proprietary authorization API. bin/kc.sh start --features=authzen Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source

api 22 total

  • DELETE /admin/realms/{realm}/clients/{client-uuid}/authz/resource-server/scope/{scope-id} · source · full API surface
  • GET /admin/realms/{realm}/clients/{client-uuid}/authz/resource-server/permission/providers · source · full API surface
  • GET /admin/realms/{realm}/clients/{client-uuid}/authz/resource-server/resource · source · full API surface
  • PUT /admin/realms/{realm}/clients/{client-uuid}/authz/resource-server/resource/{resource-id} · source · full API surface
  • GET /admin/realms/{realm}/clients/{client-uuid}/authz/resource-server/resource/{resource-id} · source · full API surface
  • GET /admin/realms/{realm}/clients/{client-uuid}/authz/resource-server/policy/search · source · full API surface
Stateless authentication session storage verified Stores authentication sessions and related state in the database rather than in-memory caches, so sessions survive full cluster restarts. 5 releases · 14 other sources · first seen Jul 2026

release

  • Promotes multi-cluster v2 (--features=stateless) to supported, enabling multi-cluster deployments without an external Infinispan cluster by storing session data in the database. changelog · Oct 2026 · source · release history
  • Enables --features=stateless to run multi-cluster v2 deployments without an external Infinispan cluster, storing session data in the database instead.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Authentication sessions survive full cluster restarts during minor upgrades, keeping users mid-login from losing progress. Multi-Cluster v2 and Stateless Mode now in Preview (2026-07-17) · Jul 2026 · source · release history
  • Enables stateless feature with --features=stateless CLI flag to move authentication sessions and action tokens from Infinispan to the database Multi-Cluster v2 and Stateless Mode now in Preview (2026-07-17) · Jul 2026 · source · release history
  • New stateless preview feature stores authentication sessions, action tokens, and brute-force counters in the database instead of distributed Infinispan caches. Multi-Cluster v2 and Stateless Mode now in Preview (2026-07-17) · Jul 2026 · source · release history

example

  • Enable stateless multi-cluster v2 to connect two Keycloak clusters without an external Infinispan cache, storing sessions in the database. bin/kc.sh start --features=stateless changelog · Oct 2026 · source
  • Enable multi-cluster v2 stateless mode so two Keycloak clusters share session state via the database, with no external Infinispan required. bin/kc.sh start --features=stateless changelog · Oct 2026 · source
  • Run a multi-cluster Keycloak deployment without an external Infinispan cluster by enabling the stateless feature. bin/kc.sh start --features=stateless announced · Oct 2026 · source
  • Enable stateless multi-cluster v2 for deployments without external cache kc.sh start --features=stateless Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source
  • Start a single Keycloak node (or cluster) with stateless mode enabled to persist auth sessions and brute-force counters in PostgreSQL. bin/kc.sh start \ --features=stateless \ --spi-cache-embedded--default--cluster-name=CLUSTER1 \ --db=postgres --db-url=jdbc:postgresql://db-host/keycloak \ --db-username=keycloak… Multi-Cluster v2 and Stateless Mode now in Preview (2026-07-17) · Jul 2026 · source
  • Start Keycloak in stateless mode to store sessions in the database instead of using Infinispan. bin/kc.sh start \ --features=stateless \ --spi-cache-embedded--default--cluster-name=CLUSTER1 \ --db=postgres \ --db-url=jdbc:postgresql://db-host/keycloak \ --db-username=keycloak \… Multi-Cluster v2 and Stateless Mode now in Preview (2026-07-17) · Jul 2026 · source

api 8 total

Identity Brokering API v2 verified Controls how Keycloak brokers identities from external providers, with tighter security rules and flexible token storage options. 3 releases · 16 other sources · first seen Jul 2026

Also counts toward: REST API

release

  • Promotes Client Secret Rotation to supported, allowing confidential clients to hold up to two concurrently active secrets for zero-downtime rotation via client policies. changelog · Oct 2026 · source · release history
  • Promotes Client Secret Rotation from preview to supported, allowing confidential clients to keep up to two concurrently active secrets during rotation via client policies. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Adds Identity Brokering API v2 with client-level authorization, confidential-clients-only enforcement, OAuth 2.0-compliant POST endpoint, and a new session-based token storage option. Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source · release history

api 16 total

SSF Transmitter shipped Pushes signed security event tokens to registered receivers using standard delivery channels with automatic retry and per-receiver filtering. 14 releases · 5 other sources · first seen Jul 2026

Also counts toward: Outbound webhooks (the product notifies you)

release 14 total

  • Emits account-disabled and account-enabled RISC event types from the experimental Shared Signals Framework (SSF) when a user is enabled or disabled. changelog · Oct 2026 · source · release history
  • Promotes Shared Signals Framework (SSF) experimental support to emit RISC account-disabled and account-enabled event types on user enable/disable with revised event structure aligned to CAEP and RISC specifications Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • The admin event store no longer receives unvalidated SSF payloads to prevent PII leakage. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • The Shared Signals Framework event structure has been revised for better alignment with CAEP and RISC specifications; existing consumers of SSF events should review the updated payload shapes. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Adds RISC account-disabled and account-enabled event types to the experimental Shared Signals Framework (SSF) support. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Adds OpenID Shared Signals Framework (SSF) transmitter with SET support via ssf feature flag Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source · release history

example

  • Enable real-time SSF security event delivery so downstream apps learn about logouts and credential changes without waiting for token refresh. bin/kc.sh start --features=ssf Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source
  • Activate the SSF transmitter to push real-time security signals to downstream apps. kc.sh start --features=ssf Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source
  • Enable the experimental SSF Transmitter feature when starting Keycloak so the per-realm SSF endpoints become available. kc.sh start-dev --feature-ssf=enabled Experimental Shared Signals Framework support (2026-07-03) · Jul 2026 · source
  • Enable the SSF Transmitter for a realm and create an SSF-enabled OIDC receiver client, then configure its stream settings via the Admin Console. In the Admin Console: 1. Open the target realm → Settings → SSF Transmitter toggle → On (sets ssf.transmitterEnabled). 2. Experimental Shared Signals Framework support (2026-07-03) · Jul 2026 · source
  • Obtain a client-credentials token scoped to SSF management, then use it to create or manage streams against the Keycloak SSF transmitter endpoints. curl -s -X POST "https://my.keycloak.test/realms/myrealm/protocol/openid-connect/token" \ -d "grant_type=client_credentials" \ -d "client_id=caep-receiver" \ -d "client_secret=…" \ -d "scope=ssf.read… Experimental Shared Signals Framework support (2026-07-03) · Jul 2026 · source
Multi-cluster v2 failover shipped Links multiple independent Keycloak clusters through a shared database and load balancer, removing the need for a separate cross-site cache layer. 13 releases · 2 other sources · first seen Jun 2025

Also counts toward: Disaster recovery, High-availability clustering

release 13 total

  • Multi-cluster v1 (the infinispan feature) is deprecated and will be removed in a future major release; migrate to multi-cluster v2 using --features=stateless. changelog · Oct 2026 · source · release history
  • Multi-cluster v1 (the multi-site feature) is deprecated and will be removed in a future major release; migrate to multi-cluster v2 using --features=stateless. changelog · Oct 2026 · source · release history
  • Multi-cluster v1 (the multi-site feature) is deprecated and will be removed in a future major release; the recommended replacement is multi-cluster v2 enabled with --features=stateless. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Promotes Multi-cluster v2 (stateless mode) to supported status, enabling multi-cluster deployments without external cache using database-stored session data, enabled via --features=stateless; deprecates Multi-cluster v1 Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Publishes a new deployment guide for multi-cluster v2 on bare-metal and VM environments alongside the existing Kubernetes guide. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Multi-cluster v1 (the multi-site feature) is deprecated and will be removed in a future major release; administrators must migrate to Multi-cluster v2 using stateless mode. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history

example

  • Start Keycloak in multi-cluster v2 stateless mode to connect clusters without an external Infinispan deployment. bin/kc.sh start --features=stateless Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source
  • Add a second independent cluster pointing at the same synchronously replicated database to achieve multi-cluster v2 failover with no Infinispan. bin/kc.sh start \ --features=stateless \ --spi-cache-embedded--default--cluster-name=CLUSTER2 \ --db=postgres --db-url=jdbc:postgresql://db-host/keycloak \ --db-username=keycloak… Multi-Cluster v2 and Stateless Mode now in Preview (2026-07-17) · Jul 2026 · source
OID4VCI credential issuance shipped Issues verifiable credentials to wallets following the OID4VCI standard, with full admin and account console controls for setup and issuance. 7 releases · 3 other sources · first seen Jul 2026

Also counts toward: Command-line interface, Web management console

release 7 total

  • Enables OID4VCI with --features=oid4vc-vci or --features=preview; adds experimental oid4vc-mdoc format support, credential revocation on refresh token revocation, and an Application Initiated Action for in-session credential issuance.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ changelog · Oct 2026 · source · release history
  • Adds configurable key attestation in the admin console allowing hardened x5c certificate validation following the HAIP profile, plus experimental mdoc support via --features=oid4vc-mdoc Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Adds experimental oid4vc-mdoc feature flag for mdoc credential format support. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Enables --features=preview or --features=oid4vc-vci to activate OID4VCI verifiable credential issuance (promoted from experimental to preview), with credential revocation on refresh-token revocation and a new Application Initiated Action for in-session credential requests. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Adds SD-JWT User Attribute and Session mappers to extract claims from verifiable credentials presented via OID4VP. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Promotes OID4VCI issuance to preview with --features=preview or --features=oid4vc-vci, enabling credential lifecycle management including revocation on refresh token expiry and Application Initiated Action for user-requested issuance Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history

example

  • Start Keycloak with OID4VCI preview enabled for verifiable credential issuance kc.sh start --features=preview --features=oid4vc-vci Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source
  • Enable OID4VCI credential issuance and the experimental mdoc format in a single start command. bin/kc.sh start --features=oid4vc-vci,oid4vc-mdoc announced · Oct 2026 · source
  • Enable OID4VCI verifiable credential issuance and the experimental mdoc format in a single startup flag. bin/kc.sh start --features=oid4vc-vci,oid4vc-mdoc Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source
Token exchange delegation verified Allows one party to request tokens on behalf of another, with impersonation rights validated before the exchange is permitted. 8 releases · 1 other source · first seen Jul 2026

Also counts toward: REST API

release 8 total

  • Auto-creates delegation:user and delegation:client client scopes as Optional scopes in all realms, with delegation authorization controlled via Fine-Grained Admin Permissions V2 delegate and delegate-members scopes. changelog · Oct 2026 · source · release history
  • Enriches CODE_TO_TOKEN, REFRESH_TOKEN, and other token lifecycle events with impersonator and impersonator_id details, and includes a non-disableable act claim in access and ID tokens for impersonation sessions. changelog · Oct 2026 · source · release history
  • Adds token exchange delegation for AI agents with consent and FGAP authorization (preview) featuring delegation:client:<client-id> parameterized scopes, auto-created optional scopes (delegation:user, delegation:client), and per-client restriction via a new client policy executor Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Adds delegation:client:<client-id> parameterized scope for OAuth consent-based token exchange delegation, producing tokens with an act claim identifying the delegated client as the actor. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Enriches token lifecycle events (CODE_TO_TOKEN, REFRESH_TOKEN, and others) with impersonator and impersonator_id details, and includes the act claim (RFC 8693 Section 4.1) in access tokens and ID tokens issued from impersonation sessions. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Adds token exchange delegation to preview using the new delegation:client:<client-id> parameterized scope, inserting an act claim identifying the delegating client, with Fine-Grained Admin Permissions V2 delegate and delegate-members scopes controlling authorization and a new client policy executor restricting… announced · Oct 2026 · source · release history

api

Client policy executors shipped Provides configurable client policy executors that enforce security constraints on clients, including hostname validation to prevent SSRF via node registration endpoints, restrictions on which protocol mapper types can be created via the Admin REST API, and controls over the `may_act` claim to limit delegation participation. 7 releases · first seen Oct 2026

release 7 total

  • Adds allowed-protocol-mappers executor to Client Policies to restrict protocol mapper types creatable via Admin REST API protocol mapper endpoints. changelog · Oct 2026 · source · release history
  • Adds secure-client-node-hostname client policy executor to validate cluster node hostnames against admin-configured regex patterns on the /clients-managements/register-node endpoint, preventing SSRF. changelog · Oct 2026 · source · release history
  • Adds secure-client-node-hostname client policy executor to validate cluster node registration hostnames against administrator-configured regex patterns, protecting against SSRF via the legacy adapter endpoint /clients-managements/register-node. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Adds secure-client-node-hostname client policy executor to validate node hostnames against administrator-configured regex patterns, protecting against SSRF via the legacy /clients-managements/register-node endpoint Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Adds a new client policy executor to restrict the may_act claim in access tokens, giving per-client control over which clients can participate in delegation. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Adds allowed-protocol-mappers executor for Admin REST API Client Policies to restrict protocol mapper types creatable or updatable through dedicated Admin REST API endpoints Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
OID4VP verifiable credential presentation shipped Enables authentication flows where users present verifiable credentials from digital wallets, supporting cross-device presentation flows and encrypted `direct_post.jwt` response mode. 3 releases · 2 other sources · first seen Oct 2026

release

  • Adds oid4vc-vp experimental feature for OID4VP verifier support, enabling cross-device wallet credential presentations with direct_post.jwt encrypted response mode and SD-JWT User Attribute and Session mappers. changelog · Oct 2026 · source · release history
  • Adds OID4VP verifier capabilities (experimental) for accepting verifiable credential presentations as login flows, supporting cross-device presentation and direct_post.jwt encrypted response mode with SD-JWT User Attribute and Session mappers Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Adds OID4VP verifier support (experimental) enabling authentication flows where users present verifiable credentials from digital wallets, supporting cross-device presentation flows and direct_post.jwt encrypted response mode. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history

example

  • Enable the OID4VP verifier so users can authenticate by presenting verifiable credentials from their wallets instead of a password. bin/kc.sh start --features=oid4vc-vci,oid4vc-vp changelog · Oct 2026 · source
  • Enable OID4VP verifier support so users can authenticate by presenting verifiable credentials from their digital wallets. bin/kc.sh start --features=oid4vc-vp changelog · Oct 2026 · source
Parameterized scopes shipped Allows OAuth 2.0 clients to pass a parameter value alongside a scope name (e.g. `project:12345`) in authorization requests, enabling fine-grained, resource-specific access control. 3 releases · 1 other source · first seen Oct 2026

release

  • Promotes Parameterized scopes (formerly dynamic scopes) to preview, allowing clients to pass a parameter value with the scope name in OAuth 2.0 authorization requests. changelog · Oct 2026 · source · release history
  • Promotes parameterized scopes (formerly dynamic scopes) from experimental to preview, allowing clients to pass a parameter value with the scope name (e.g. project:12345) in OAuth 2.0 authorization requests. Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
  • Promotes parameterized scopes to preview status, allowing clients to pass dynamic values in OAuth 2.0 authorization request scope names without pre-defining individual client scopes Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history

docs

  • Keycloak 26.8.0 Verifiable Credential Issuance promoted to preview with credential management and revocation Verify credentials with OID4VP (experimental) React to account status changes with Shared Signals Framework (experimental) Parameterized (formerly dynamic) scopes preview support (preview) Token exchange… changelog · Oct 2026 · source
DPoP Support shipped Supports Dynamic Client Authentication via OAuth 2.0 DPoP for securing access tokens and client authentication in OIDC, FAPI 2, and Admin/Account APIs. 4 releases · first seen Jun 2025

Also counts toward: REST API

release

  • Supports requiring the dpop_jkt parameter in OIDC authentication requests 26.4.0 · Jun 2025 · source · release history
  • Adds support for OAuth 2.0 DPoP tokens on Admin REST API and Account REST API endpoints 26.4.0 · Jun 2025 · source · release history
  • Allows public clients to bind only refresh tokens to DPoP, omitting access token binding 26.4.0 · Jun 2025 · source · release history
  • Adds fapi-2-dpop-security-profile and fapi-2-dpop-message-signing client profiles for FAPI 2 compliance 26.4.0 · Jun 2025 · source · release history
Cluster and node identity configuration shipped Provides first-class CLI options for setting the cluster name and node name, giving operators explicit control over cluster topology identity. 2 releases · 1 other source · first seen Jul 2026

release

  • Adds first-class CLI options for cluster and node name. changelog · Oct 2026 · source · release history
  • Requires --spi-cache-embedded--default--cluster-name=<name> flag for multi-cluster coordination via JGroups Multi-Cluster v2 and Stateless Mode now in Preview (2026-07-17) · Jul 2026 · source · release history

example

  • Configure a second cluster in the same multi-cluster setup by using a different cluster name. bin/kc.sh start \ --features=stateless \ --spi-cache-embedded--default--cluster-name=CLUSTER2 \ --db=postgres \ --db-url=jdbc:postgresql://db-host/keycloak \ --db-username=keycloak \… Multi-Cluster v2 and Stateless Mode now in Preview (2026-07-17) · Jul 2026 · source
SSF synthetic event injection verified Accepts events generated by external platforms such as SOC or IAM tools and feeds them into the same signal delivery pipeline as internally generated events. 1 release · 2 other sources · first seen Jul 2026

Also counts toward: REST API

release

  • New synthetic event REST endpoint lets external tools (e.g. SOC/IAM platforms) inject events that did not originate inside Keycloak — useful for bridging external credential-change signals. Experimental Shared Signals Framework support (2026-07-03) · Jul 2026 · source · release history

api

Automatic non-blocking database index creation shipped Automatically creates indexes on large database tables without blocking writes, reducing downtime during upgrades. 2 releases · first seen Jun 2026

release

  • Adds automatic non-blocking index creation for large database tables. changelog · Oct 2026 · source · release history
  • Adds startup check for missing database indexes to detect schema drift before boot Keycloak 26.6.3 released (2026-06-04) · Jun 2026 · source · release history
FIPS mode enhancements shipped Improves FIPS compliance by generating the system truststore in BCFKS format when strict FIPS mode is active, and adds support for encrypted PEM files for TLS certificate and private key configuration. 2 releases · first seen Oct 2026

release

  • Adds support for encrypted PEM files for TLS certificate and private key configuration. changelog · Oct 2026 · source · release history
  • Generated system truststore uses BCFKS format in strict FIPS mode. changelog · Oct 2026 · source · release history
Identity Assertion JWT Authorization Grant (ID-JAG) shipped Lets Keycloak accept identity assertions from another domain and issue access tokens without requiring the user to log in again. 2 releases · first seen Nov 2025

release

  • Adds Identity Assertion JWT Authorization Grant (ID-JAG) support (experimental), allowing Keycloak to accept cross-domain identity assertions and issue access tokens without re-authentication. Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source · release history
  • Promotes JWT Authorization Grant (RFC 7523) to supported status, enabling external-to-internal token exchange via externally signed JWT assertions 26.6.0 · Nov 2025 · source · release history
MCP authorization shipped Describes how to use Keycloak to authorise MCP clients, including AI coding tools connecting through the MCP protocol. 2 releases · first seen Jun 2025

release

  • Adds MCP authorization documentation for Claude Code as a new MCP client integration alongside existing VS Code support. Keycloak 26.7.0 released (2026-07-09) · Jul 2026 · source · release history
  • Exposes OAuth 2.0 Authorization Server Metadata via well-known URI compliant with RFC 8414 for MCP integration 26.4.0 · Jun 2025 · source · release history
Quarkus distribution configuration via environment variables shipped Allows operators to pass custom JVM and Java options to the Keycloak Quarkus runtime using dedicated environment variables. 1 release · 1 other source · first seen Jun 2022

release

  • Adds JAVA_OPTS_APPEND environment variable to pass custom Java options in the new Quarkus distribution 17.0.0 · Jun 2022 · source · release history

example

  • Pass custom JVM flags like heap size or debugging options via environment variable. JAVA_OPTS_APPEND="-Xmx2g -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005" ./kc.sh start 17.0.0 · Jun 2022 · source
Stateless brute-force and login failure storage shipped Stores login failures and brute-force counters in the database instead of in-memory, so protection state survives restarts and is consistent across cluster nodes. 1 release · first seen Oct 2026

release

  • Stores login failures in the database instead of in-memory. changelog · Oct 2026 · source · release history
Impersonation audit enrichment shipped Enriches token lifecycle events with impersonator identity details for audit trails and adds the immutable `act` claim to tokens issued from impersonation sessions. 1 release · first seen Oct 2026

release

  • Enriches token lifecycle events (CODE_TO_TOKEN, REFRESH_TOKEN) with impersonator and impersonator_id details for audit trails and adds the immutable act (actor) claim to tokens issued from impersonation sessions Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
Invite-user workflow shipped Adds a user creation workflow step that automatically sends action-token emails with configurable required actions and a post-completion redirect URI. 1 release · first seen Oct 2026

release

  • Adds new invite-user workflow step to automatically send action-token emails upon user creation with configurable required actions and post-completion redirect URI Keycloak 26.8.0 released (2026-10-01) · Oct 2026 · source · release history
Apple Business Manager / School Manager federated IdP (legacy SSE CAEP) shipped Enables Keycloak to act as a federated identity provider for Apple Business Manager and Apple School Manager device fleets. 1 release · first seen Jul 2026

release

  • Ships legacy SSE CAEP draft profile for Apple Business Manager and Apple School Manager interoperability, enabling Keycloak to act as a federated IdP for Apple device fleets. Experimental Shared Signals Framework support (2026-07-03) · Jul 2026 · source · release history
Automated Database Configuration shipped Provides CLI options to configure database TLS, timeouts, and UTF-8 encoding verification at startup. 1 release · first seen Nov 2025

Also counts toward: Command-line interface

release

  • Adds new CLI options for database configuration including TLS setup, connection timeouts, transaction timeouts with production defaults, and UTF-8 encoding verification at startup 26.6.0 · Nov 2025 · source · release history
FGAP Membership Bridge Evaluation shipped Adds a scope enabling user-side bridge evaluation for group membership permissions based on current user memberships. 1 release · first seen Nov 2025

release

  • Adds new FGAP scope manage-membership-of-members to enable user-side bridge evaluation for group membership permissions based on current user memberships 26.6.0 · Nov 2025 · source · release history
Graceful HTTP Shutdown shipped Prevents error responses during rolling updates or configuration changes by gracefully shutting down the HTTP stack. 1 release · first seen Nov 2025

release

  • Enables graceful shutdown of the HTTP stack to prevent error responses during rolling updates or configuration changes 26.6.0 · Nov 2025 · source · release history
LDAP Password Policy Prompting shipped Allows LDAP users to be prompted to update their passwords when the backend indicates a mandatory change is required. 1 release · first seen Nov 2025

release

  • Adds optional Enable LDAP password policy setting in LDAP advanced settings to prompt LDAP users to update passwords when the backend indicates a mandatory change 26.6.0 · Nov 2025 · source · release history
Organization Groups shipped Supports isolated group hierarchies per organization with Identity Provider mappers for automated assignment based on external claims. 1 release · first seen Nov 2025

release

  • Adds Organization groups feature supporting isolated group hierarchies per organization with Identity Provider mappers for automated assignment based on external claims 26.6.0 · Nov 2025 · source · release history
Workflows Automation shipped Allows administrators to automate realm tasks using YAML-defined logic triggered by events, conditions, or schedules. 1 release · first seen Nov 2025

Also counts toward: Scheduled jobs

release

  • Adds workflows subsystem allowing administrators to automate realm tasks using YAML-defined logic triggered by events, conditions, or schedules 26.6.0 · Nov 2025 · source · release history
Zero-downtime Patch Releases shipped Supports rolling updates within the same major.minor release stream without service interruption. 1 release · first seen Nov 2025

release

  • Promotes Zero-downtime patch releases to supported status and enables them by default for rolling updates within the same major.minor release stream 26.6.0 · Nov 2025 · source · release history
Federated Client Authentication shipped Allows clients to authenticate using existing credentials from trusted external issuers, such as SPIFFE JWT SVIDs and Kubernetes service account tokens. 1 release · first seen Jun 2025

release

  • Adds Federated Client Authentication preview for SPIFFE JWT SVIDs and Kubernetes service account tokens 26.4.0 · Jun 2025 · source · release history
Passkeys Authentication shipped Enables passwordless authentication for users via WebAuthn passkeys configurable through the admin UI policies. 1 release · first seen Jun 2025

release

  • Enables Passkeys authentication via the Authentication > Policies > Webauthn Passwordless Policy UI toggle 26.4.0 · Jun 2025 · source · release history
Developer database type aliases shipped Provides renamed database types for H2 memory and file modes intended for development environments. 1 release · first seen Jun 2022

release

  • h2-mem and h2-file database types are renamed to dev-mem and dev-file 17.0.0 · Jun 2022 · source · release history
Offline session lazy loading shipped Loads offline user sessions on demand rather than preloading them at startup to reduce initialization time. 1 release · first seen Jun 2022

release

  • Loads offline sessions lazily by default instead of preloading at startup 17.0.0 · Jun 2022 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Command line

13 commands for Keycloak, each with where it came from. This tool has no source analysis yet, so there is no option reference and no captured run beside them.

Source

Media

Videos from the release notes, newest first. They play right here.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface

Five scores for Keycloak, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail Keycloak puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Website history

keycloak.org, every change

Keycloak (Red Hat / CNCF)'s home page as it looked each month from September 2021 to October 2026: 13 renders, 1 change of tagline or palette. Step through them, play them, or put any two months side by side.

Website history is included with Researcher and Business.

See plans →

Releases

Show

21 entries

  1. October 20267
  2. August 20262
  3. July 20268
  4. June 20261
  5. November 20251
  6. June 20251
  7. June 20221
    Show

    21 entries

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →