Keycloak 26.8.0 于 2026-10-01 发布。这一版把 SCIM API、Multi-cluster v2(stateless)、Client Secret Rotation 推到 supported;OID4VCI 与 Token exchange delegation for AI agents 升到 preview;旧的 multi-site(Multi-cluster v1)进入 deprecated。底层升到 Quarkus 3.40 LTS,并带上多条 CVE 修复。许可证仍是 Apache-2.0,下载与发行说明以官网为准。

开源 IdP 这一档,能力跨度大,升级前先分清 preview 与 supported,再决定哪些功能可以进生产变更窗口。

本版硬点:preview 与 supported 分开看

能力26.8 状态启用或迁移提示(官方叙述)
SCIM APIsupported(由 preview 升)用户与组的标准供给接口;含多值属性、User Profile 权限、FGAP 过滤等改进
Multi-cluster v2 / statelesssupported(由 preview 升)--features=stateless;会话落库,不再依赖外部 Infinispan 做跨站
Multi-cluster v1 / multi-sitedeprecated官方建议迁到 v2;未来 major 会移除
Client Secret Rotationsupported(由 preview 升)客户端策略驱动,最多两个密钥并行有效,便于无中断轮换
OID4VCI(可验证凭证签发)preview(由 experimental 升)--features=preview 或 --features=oid4vc-vci;含吊销与管理、AIA 申请签发
Token exchange delegation(AI agent 等)preview用户经 consent 把访问委托给客户端;令牌带 act claim;授权走 FGAP V2 的 delegate / delegate-members
Parameterized scopes(原 dynamic scopes)preview允许 project:12345 这类带参数的 scope
Client Admin API v2preview声明式客户端管理;Operator 的 OIDC/SAML Client CR 同为 Preview
OID4VP 校验、SSF 部分扩展、mdoc 等仍多为 experimental见发行说明,勿当生产默认

OID4VCI 侧还补了刷新令牌吊销时的凭证吊销、账户内申请签发的 AIA,以及管理控制台里的密钥证明配置。client-auth-abca、预授权码、REST credential offer、OID4VP 等仍标 experimental。Token exchange delegation 与「管理员假冒用户」不同:客户端委托默认不开放 Admin API,即便客户端有 service account,也避免泄漏的委托令牌直接提权。

多集群与运维相关变化

Multi-cluster v2 的卖点是少一套外部 Infinispan 跨站复制:启用 stateless 后,会话数据进数据库。官方同时给出裸机/VM 部署指南,与既有 Kubernetes 指南并列。若你还在用 --features=multi-site,升级计划里应单独排迁移,而不是只换版本号。

其他运维向改动(摘要,细节见升级指南):

  • 登录失败(暴力破解计数)默认持久化到数据库,集群重启后临时锁定不会丢;旧的内存行为标为 login-failures:v1 且 deprecated。
  • 嵌入式缓存可用 --cache-embedded-cluster-name / --cache-embedded-node-name;Operator 会把节点名设成 Pod 名。
  • 大表升级时跳过的索引,可在启动后于 PostgreSQL、Oracle、MySQL/MariaDB 及受支持的 SQL Server 上后台非阻塞创建。
  • HTTPS 支持加密的 PKCS#8 PEM 私钥,配合 --https-certificate-key-file-password。
  • 组织场景下,同一个身份提供方可挂到多个 Organization,域名路由挪到 domain 实体。

Spring / Java 侧升级时要盯的点

  1. 先读升级指南,再开新特性开关。 supported 项可以纳入常规变更;preview 适合灰度与反馈,experimental 仅限试验环境。
  2. 多站点部署。 仍在 multi-site 的集群,把迁到 stateless 当成独立项目,核对会话、缓存与 RPO 叙述是否符合你们的 SLA。
  3. 客户端密钥。 Client Secret Rotation 已 supported,适合机密客户端的滚动更换;确认应用侧能同时容忍新旧密钥窗口。
  4. 委托与 AI agent。 若用 token exchange 给自动化或 agent 发短时权限,走 preview 的 delegation scope,配 FGAP,并审计 act claim;不要把「管理员 impersonation」和「客户端委托」混成同一套策略。
  5. SCIM。 要从 HR/ITSM 拉用户组时,可评估官方 SCIM 路径;注意发行说明里对 FGAP、User Profile 与 PATCH 限制的加固。
  6. Quarkus 3.40 LTS 基线。 自定义扩展、SPI 或打进发行版的依赖,按 Quarkus/Keycloak 兼容矩阵复测;Jackson、Netty 相关 CVE 也在本版安全修复列表中。
  7. 安全公告。 发行说明列出多条 CVE(例如 IdP mapper 提权、OIDC broker 的 email_verified 误用、授权服务中同名组声明等)。生产升级应对照 26.8.0 发行帖的 Security fixes 与升级指南逐项核对,本文不复述利用细节。

适配器方面,Keycloak 早年的 Spring 专用适配器路线已弃用多年,现行做法仍是标准 OIDC/OAuth2 客户端(Spring Security OAuth2 Client / Resource Server 等)对接授权服务器。26.8 没有改变这一总方向,变的是服务器侧能力与加固。

许可证、仓库与下载

  • 许可证:Apache License 2.0(项目一贯声明)。
  • 下载与发行说明:Keycloak 26.8.0 released、Downloads。
  • 源码:GitHub keycloak/keycloak(以官网链接为准)。
  • 升级:务必阅读官方 migration / upgrading guide,再执行生产切换。

Keycloak 是 CNCF Incubation 项目。能力盘点以官网发行说明为唯一硬源;preview 与 supported 的边界若有更新,以文档页实时状态为准。

参考链接

— 感谢阅读 —

一起交流

分享你的思考,让讨论更进一步。