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 API | supported(由 preview 升) | 用户与组的标准供给接口;含多值属性、User Profile 权限、FGAP 过滤等改进 |
Multi-cluster v2 / stateless | supported(由 preview 升) | --features=stateless;会话落库,不再依赖外部 Infinispan 做跨站 |
Multi-cluster v1 / multi-site | deprecated | 官方建议迁到 v2;未来 major 会移除 |
| Client Secret Rotation | supported(由 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 v2 | preview | 声明式客户端管理;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 侧升级时要盯的点
- 先读升级指南,再开新特性开关。 supported 项可以纳入常规变更;preview 适合灰度与反馈,experimental 仅限试验环境。
- 多站点部署。 仍在 multi-site 的集群,把迁到
stateless当成独立项目,核对会话、缓存与 RPO 叙述是否符合你们的 SLA。 - 客户端密钥。 Client Secret Rotation 已 supported,适合机密客户端的滚动更换;确认应用侧能同时容忍新旧密钥窗口。
- 委托与 AI agent。 若用 token exchange 给自动化或 agent 发短时权限,走 preview 的 delegation scope,配 FGAP,并审计
actclaim;不要把「管理员 impersonation」和「客户端委托」混成同一套策略。 - SCIM。 要从 HR/ITSM 拉用户组时,可评估官方 SCIM 路径;注意发行说明里对 FGAP、User Profile 与 PATCH 限制的加固。
- Quarkus 3.40 LTS 基线。 自定义扩展、SPI 或打进发行版的依赖,按 Quarkus/Keycloak 兼容矩阵复测;Jackson、Netty 相关 CVE 也在本版安全修复列表中。
- 安全公告。 发行说明列出多条 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 的边界若有更新,以文档页实时状态为准。
一起交流
分享你的思考,让讨论更进一步。