關於 Keycloak 轉接器淘汰的更新

2023 年 3 月 29 日,Stian Thorgersen 撰寫

在 2022 年,我們宣布淘汰 Keycloak 轉接器,並計畫在 Keycloak 19 中停止交付大多數轉接器。

由於我們尚未能在尋找替代方案和支援資料方面取得足夠進展,以協助從 Keycloak 轉接器移轉,我們將延長 Keycloak 轉接器的生命週期。

計畫仍是在未來最終停止交付客製化的 Keycloak 轉接器,但我們將以比先前規劃更漸進的方式進行。

我們仍然堅信,從長遠來看,整個社群可以透過我們更專注於 Keycloak 伺服器,並完全符合和支援 OAuth 2.0 和 OpenID Connect 等規範,並為規範添加額外的相關擴展,從而獲得更好的服務。

我們也相信,將各種程式語言和框架的整合留給相關社群,最終結果將會是更廣泛的支援,具有更多的功能和能力,最後但同樣重要的是更好的整合和易用性。

OAuth 2.0 和 OpenID Connect 轉接器

Java

對於 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 的替代方案,因此尚未有相關計畫。預計今年稍後會有更多資訊。無論替代方案為何,我們都將為 Node.js 提供 Keycloak 授權服務的支援。

Keycloak Node.js 轉接器將保留,至少到今年年底,但可能要到 2024 年初才會移除。

用戶端 JavaScript

目前 Keycloak 用戶端 JavaScript 轉接器將會保留,但我們正在研究替代方案,以及徹底檢修我們現有的轉接器並繼續維護和交付此轉接器的可能性。

SAML 2.0

我們計畫長期繼續支援 WildFly 和 JBoss EAP 的 SAML 2.0,但對 Tomcat 和 Jetty 的支援可能會相對較快地移除。