1.9. 新功能及功能增强
以下发行注记适用于红帽构建的 Keycloak 22.0。
1.9.1. 基于 Red Hat build of Quarkus 的新发布 复制链接链接已复制到粘贴板!
红帽构建的 Keycloak 22.0 使用基于 Red Hat build of Quarkus 而不是 Red Hat JBoss Enterprise Application Platform 的简化发布模型。与 Red Hat Single Sign-On 相比,新发行版简化了配置和操作。
- 简单的配置流程以及交互式命令行帮助。您可以从多个配置源(如文件、CLI、环境变量或加密 KeyStore)中选择不透明和复杂的 XML 文件。
- 更快的启动时间和低内存占用。服务器分布比较小,容器镜像包含较少的依赖项,而红帽构建的 Keycloak 会执行多个优化,从而提高了运行时性能。
- 用于 PostgreSQL、MariaDB、SQL Server 和 MySQL 的 JDBC 驱动程序包含在分发中。
- 对问题进行更快的功能更新和修复。红帽构建的 Keycloak 生命周期与 Keycloak 密切一致,这意味着代码库更接近上游,使用创新升级可以更快地交付。
- 支持内置指标。
通过进行以下更改,为容器镜像提高安全性:
- 该镜像基于 UBI9 而不是 UBI8。
- 使用 -minimal 被 by-micro 替代。
1.9.2. 新 Operator 复制链接链接已复制到粘贴板!
红帽构建的 Keycloak 22 引入了一个全新的 OpenShift Operator,它带有 reimagined 自定义资源(CR),以便在现代云原生环境中充分利用基于 Quarkus 的新发行版本。与 Red Hat Single Sign-On Operator 相比,生成的更改扩展了 Operator 的功能,并删除一些最突出的限制。
- 通过 Keycloak CR 支持 Red Hat build of Keycloak 服务器配置
- 使用裸机安装关闭配置 UX 配置,以简化 Operator 的使用
- 支持红帽构建 Keycloak 服务器的所有数据库
- 与 Red Hat Single Sign-On Operator Realm CR 中的几个选择字段相比,realm Import CR 支持完整 Realm 表示
1.9.3. 管理控制台 v2 复制链接链接已复制到粘贴板!
管理控制台 v2 被重新设计,更易于使用且更易于访问。v2 控制台提供相同的功能,如创建客户端应用程序、管理用户和监控会话,但现在这些操作更容易执行。
1.9.3.1. 重新组织页面 复制链接链接已复制到粘贴板!
管理控制台 v1 有许多页面填充了长的控制列表。您可以轻松地错过底部的高级功能。在 v2 控制台中,该页面类型被修改为将常规控制分组到一起,高级功能已移到自己的标签页。
控制被组织到高级和常规组中
1.9.3.2. 工具提示更易于使用 复制链接链接已复制到粘贴板!
在 v1 控制台中,当您将鼠标悬停在字段上时,您需要设置的工具块字段。在 v2 控制台中,点问号(?)来显示工具提示。甚至专家用户也发现他们无法重新调用每个控制的含义,因此工具提示也很重要。
改进了工具提示不会隐藏字段名称
1.9.3.4. 可访问性增强 复制链接链接已复制到粘贴板!
v2 控制台具有重大可访问性改进,可为具有可视化障碍的用户和使用屏幕阅读器的用户提供更好的用户体验。例如:
- 对于具有低远见度或颜色形象的用户,文本元素现在满足 WCAG 2 AA 对比比率阈值,从而明确与背景颜色相对应。
- 对于依赖屏幕阅读器的用户,表单元素包括标签,所有输入字段都有可访问的名称。另外,镜像现在具有其他文本。
- 对于交互式控制,每个集中元素现在都有一个活跃的、唯一的 ID,消除了混淆并辅助导航。
新的设计在流和机构中提供了很多改进,同时保持所有功能。但是,只有 bearer 的客户端是没有 OAuth 流的客户端有一个更改。在创建客户端时,这个访问类型不再是选择,但 bearer-only 交换机仍然存在于服务器端。如需了解更多详细信息 ,请参阅服务器管理指南。
1.9.4. FIPS 版本 140-2 支持 复制链接链接已复制到粘贴板!
支持将红帽构建的 Keycloak 22.0 部署到启用了 FIPS 140-2 的环境中。详情请查看 FIPS 140-2。
1.9.5. OpenJDK 17 支持 复制链接链接已复制到粘贴板!
Red Hat build of Keycloak 支持对服务器和适配器的 OpenJDK 17。
- 红帽构建的 Keycloak 服务器只在 OpenJDK 17 中被支持。
- 适配器只在 OpenJDK 11 和 17 上被支持。
1.9.6. 适配器支持 复制链接链接已复制到粘贴板!
从红帽构建的 Keycloak 22 开始,以下 Java 客户端适配器不再发布:
- JBoss EAP 6
- JBoss EAP 7
- Spring Boot
- JBoss Fuse 6
- JBoss Fuse 7
与 OpenID Connect 的初始发行版本相比,这个协议现在广泛支持 Java 生态系统,通过利用技术堆栈中提供的功能来实现更好的互操作性和支持,如您的应用程序服务器或框架。
现在,这些功能已经达到其生命周期,且只在 Red Hat Single Sign-On 7.6 中提供。因此,在长期支持结束前,请考虑应用程序的备选功能。
每当您发现将红帽构建的 Keycloak 与 Red Hat Single Sign-On Client Adapters 集成的问题时,您会在管理控制台情况下在 Client Settings 中都有兼容模式设置。因此,您可以禁用红帽构建的 Keycloak 服务器的一些方面,以保持与旧客户端适配器的兼容性。有关各个设置的工具提示中提供了更多详细信息。
如需了解更多详细信息,请参阅 迁移指南。
1.9.7. 其他改进 复制链接链接已复制到粘贴板!
Red Hat build of Keycloak 22.0 包括以下与 Red Hat Single Sign-On 7.6 相关的额外改进。
1.9.7.1. SAML 后备通道注销 复制链接链接已复制到粘贴板!
红帽 Keycloak 22.0 构建包括 SAML SOAP Backchannel single-logout,它为红帽构建的 Keycloak 中注册的 SAML 客户端提供真实的后备频道注销功能。此功能添加了通过 SOAP 绑定接收 SAML 客户端发送的注销请求的功能。
1.9.7.2. OIDC 注销 复制链接链接已复制到粘贴板!
Red Hat Single Sign-On 7.6 包括对 OIDC 注销的支持。红帽构建的 Keycloak 22.0 包括对 OIDC 注销的改进:
-
支持
client_id
参数,它基于 OIDC RP-Initiated Logout 1.0 规范。此功能可用于检测在无法使用id_token_hint
参数时,应该使用哪些客户端进行 Post Logout Redirect URI 验证。当在没有id_token_hint
参数的情况下只使用client_id
参数时,仍需要向用户显示 logout confirmation 屏幕,因此如果客户不希望向用户显示 logout 确认屏幕,则鼓励客户端使用id_token_hint
参数。 -
Valid Post Logout Redirect URIs
配置选项添加到 OIDC 客户端,并与 OIDC 规格一致。您可以使用不同的重定向 URI 在登录和注销后进行重定向。用于Valid Post Logout Redirect URI
的值+
表示注销使用与 选项Valid Redirect URI 指定的相同重定向 URI
集。由于向后兼容性,从之前的版本迁移时,这个更改也会与默认行为匹配。
如需了解更多详细信息,请参阅服务器管理指南中的 OIDC 注销。
1.9.7.3. 按属性搜索组 复制链接链接已复制到粘贴板!
现在,您可以使用 Admin REST API 以类似于按属性搜索客户端搜索的方式根据属性搜索来搜索组。
1.9.7.4. 支持基于自定义属性的用户数 复制链接链接已复制到粘贴板!
用户 API 现在支持根据自定义属性查询用户数量。/{realm}/users/count 端点包含一个新的 q
参数。它需要以下格式:
q=<name>:<value> <attribute-name>:<value>
q=<name>:<value> <attribute-name>:<value>
1.9.7.5. 查看帐户控制台中的组成员资格 复制链接链接已复制到粘贴板!
现在,您可以允许用户在帐户控制台中查看其组成员资格。用户必须具有 帐户 view-groups 选项,以便组在该控制台中显示。
1.9.7.6. OpenID Connect 身份提供程序中的基本声明配置 复制链接链接已复制到粘贴板!
OpenID Connect 身份提供程序支持新配置,以指定身份提供程序发布的 ID 令牌必须具有特定的声明。否则,用户无法通过这个代理进行身份验证。
选项默认为禁用;启用后,您可以指定要过滤的 JWT 令牌声明的名称以及要匹配的值(支持正则表达式格式)。
OpenID Connect 身份提供程序现在支持 ID Token 和 UserInfo 响应的 Json Web 加密(JWE)。供应商使用为所选加密算法定义的域密钥来执行解密。
1.9.7.8. 硬编码的组映射器 复制链接链接已复制到粘贴板!
新的硬组映射器允许将特定组添加到从身份提供程序代理的用户。
1.9.7.9. 用户会话备注映射器 复制链接链接已复制到粘贴板!
新的用户会话备注映射器允许将声明映射到用户会话备注。
1.9.7.10. LDAP 和 Kerberos 集成的改进 复制链接链接已复制到粘贴板!
红帽构建的 Keycloak 支持域中多个 LDAP 供应商,它支持与同一 Kerberos 域的 Kerberos 集成。当 LDAP 供应商找不到通过 Kerberos/SPNEGO 进行身份验证的用户时,红帽构建的 Keycloak 会尝试回退到下一个 LDAP 供应商。当单个 LDAP 供应商支持多个 Kerberos 域时,红帽构建的 Keycloak 也会更好地支持它们,它们相互信任。