Keycloak.X 简介

2019 年 10 月 11 日 由 Stian Thorgersen

我们试图改进什么?

Keycloak 的第一个稳定版本早在 2014 年发布。正如在构建软件时总会发生的那样,有些事情本来可以做得更好。

在 Keycloak.X 中,我们旨在引入一些重大更改,使 Keycloak 更精简、更易用、更具未来性。

Keycloak.X 的一些目标是

这项工作将分为几个部分

发行版

构建一个由 Quarkus 提供支持的新发行版将使我们能够显着减少启动时间和内存占用。

我们也将能够在大小和依赖项方面创建更精简的发行版。减少依赖项将进一步减少第三方库中的 CVE 数量。

我们还计划引入一个合适的 Keycloak 配置文件,在其中我们将直接记录如何配置与 Keycloak 相关的所有内容。在当前基于 WildFly 的发行版中,配置文件非常复杂,因为它包含配置底层应用程序服务器的所有内容,而且往往需要参考 WildFly 文档才能找出如何正确配置事物。

存储

当前的存储层很复杂,尤其是在部署到多个站点时。它在领域和客户端数量方面存在一些可扩展性问题。会话仅保存在内存中,这对于性能来说可能很好,但对于扩展来说并不理想,因为考虑到很大一部分会话大部分时间都处于闲置和未使用状态。

新存储层的具体外观尚待确定,但我们确信我们想要

提供者

提供者今天存在一些我们想要解决的问题。包括

持续交付

我们的目标是使在持续交付世界中使用 Keycloak 更容易。这应该考虑 Keycloak 升级、自定义提供程序以及配置。

Keycloak 升级应该是无缝的,不应该有任何重大更改,而是应该有弃用期限。

应该能够更轻松地管理和复制 Keycloak 的配置,包括领域配置,在不同的环境中。开发人员应该能够在开发环境中尝试一些配置更改,将其推送到测试环境,最后再将其应用到生产环境中。

贡献

我们希望社区能够为 Keycloak.X 提供帮助。您可以通过代码、讨论或仅仅试用并给我们反馈来做出贡献。

迁移到 Keycloak.X

将需要迁移到 Keycloak.X。事实上,将需要进行多次迁移,因为前面提到的所有内容都无法一次性完成。

我们的目标是使此迁移尽可能简单和无痛。

时间安排

我们从 Quarkus 提供支持的发行版开始。我们的目标是在 2019 年底之前拥有一个功能齐全的稳定发行版,但我们已经有了 一个原型,您可以尝试和贡献。

在 2020 年,我们的目标是同时处理存储层和提供程序。希望到 2020 年底,我们将完成大部分,如果不是全部,都已经完成。

我们将继续支持当前的 Keycloak 版本,与 Keycloak.X 平行,并将给予每个人充足的时间进行迁移,然后我们最终将停止使用旧版本。