2023 年 3 月 29 日,作者:Stian Thorgersen
2022 年,我们宣布了 Keycloak 适配器弃用,计划在 Keycloak 19 中停止提供大多数适配器。
由于我们无法在寻找替代方案和支持材料方面取得足够的进展,以帮助迁移出 Keycloak 适配器,因此我们将延长 Keycloak 适配器的使用寿命。
我们仍然计划在将来最终停止提供定制的 Keycloak 适配器,但我们将以比之前更渐进的方式进行。
我们仍然坚信,从长远来看,社区整体将受益于我们更多地关注 Keycloak 服务器,全面遵守并支持 OAuth 2.0 和 OpenID Connect 等规范,并为规范添加支持额外相关扩展。
我们还相信,将各种编程语言和框架的集成留给相关社区,最终将获得更广泛的支持,拥有更多功能和能力,最后但并非最不重要的是更好的集成和易用性。
对于 Java 应用程序,OpenID Connect 的支持比以往任何时候都更加广泛,其中一些示例包括
Jakarta Security 3.0 - Jakarta EE 10 中的 OpenID Connect 支持
Elytron OIDC - WildFly 中的 OpenID Connect 支持
Quarkus OIDC - Quarkus 应用程序的 OpenID Connect 支持
Spring Security - Spring 中的 OAuth 和 OpenID Connect 支持
Pac4j - 用于保护所有 Web 应用程序和 Web 服务的 Java 安全框架
这些都没有支持 Keycloak 授权服务,因此我们计划为授权服务引入通用的 Java 客户端库,这些库可以与其他 OpenID Connect 客户端库一起使用。预计将在 Keycloak 22 中提供。
Keycloak Java 适配器将保留一段时间,至少到年底,但可能要到 2024 年初才会被删除。同时,不要期望适配器在添加新功能、增强功能或支持更新版本的 Tomcat、Jetty、WildFly 或 Spring 方面进行更新。
我们仍在调查 Node.js 的替代方案,因此目前还没有针对这些方案的计划。预计将在今年晚些时候提供更多信息。无论选择哪种替代方案,我们都将为 Node.js 提供对 Keycloak 授权服务的支持。
Keycloak Node.js 适配器将保留,至少到年底,但可能要到 2024 年初才会被删除。
目前,Keycloak 客户端 JavaScript 适配器仍然存在,但我们也在研究替代方案,以及彻底改造现有适配器的可能性,并继续维护和交付此适配器。
我们计划长期继续支持 WildFly 和 JBoss EAP 的 SAML 2.0,但对 Tomcat 和 Jetty 的支持可能会很快被删除。