宣佈推出 Spring Authorization Server

工程 | Rob Winch | 2020年4月15日 | ...

我很高興宣佈推出 Spring Authorization Server 專案。這是一個由 Spring Security 團隊領導的社群驅動專案,專注於為 Spring 社群提供 授權伺服器 支援。

成功的基礎

我們走到今天的故事很長,但關鍵資訊簡短而甜蜜:如果沒有我們出色的社群,Spring 就不會是今天的樣子。

大約十年前,我們引入了一個社群驅動的開源專案 Spring Security OAuth,並使其成為 Spring 專案組合的一部分。自成立以來,它已發展成為一個成熟的專案,支援 OAuth 規範的很大一部分,包括資源伺服器、客戶端、登入和授權伺服器。毫無疑問,它已成為 UAA 的基礎,UAA 除其他功能外,還充當所有 Cloud Foundry 安裝的身份管理服務。Spring Security OAuth 專案已成為一個典範專案,證明了我們出色的社群能夠取得的成就。

在社群成功的基礎上再接再厲

自專案啟動以來,OAuth 世界發生了巨大變化。因此,我們決定在社群成功的基礎上,重寫 Spring Security OAuth,以更好地協調 Spring 的 OAuth 故事,簡化程式碼庫,並使 Spring 的 OAuth 支援更靈活。

首先,最初的 OAuth 支援很早就完成了,無法預見到它將來需要以所有不同的方式使用。這導致許多 Spring 專案提供自己的 OAuth 支援。透過重寫,我們能夠滿足整個 Spring 組合的需求,並提供一個統一的 OAuth 庫。

其次,當最初編寫 OAuth 專案時,它包含了對 OAuth 1.0 和 OAuth 2.0 的支援。從那時起,OAuth 2.0 已正式使 OAuth 1.0 過時。因此,新的支援能夠完全專注於 OAuth 2.0,這大大簡化了程式碼。

第三,原始專案提供了所有自己的庫支援。現在,有了許多可供選擇的庫,我們能夠透過圍繞現有庫 Nimbus 提供抽象來將其融入 Spring Security 本身。透過在 Nimbus 的基礎上構建,我們能夠更快地行動並新增更多功能,例如更好地支援 JWT 宣告、OIDC、響應式程式設計等等。

社群不斷在過去的成功基礎上再接再厲,這令人印象深刻。

向我們的社群學習

顯然,重寫 Spring Security 的 OAuth 支援是一項艱鉅的任務。首先,團隊決定將工作分為客戶端、資源伺服器和授權伺服器。隨著客戶端和資源伺服器的進展,我們越來越堅信不應該提供授權伺服器支援。

自 Spring Security OAuth 專案建立以來,授權伺服器的選擇數量顯著增加。此外,我們不覺得建立授權伺服器是一個常見的場景。我們也不覺得在一個沒有庫支援的框架中提供授權支援是合適的。經過仔細考慮,Spring Security 團隊決定 不正式支援建立授權伺服器

自我們的部落格文章釋出以來,社群已發聲,我們也聽取了意見。從部落格上的反饋、Gitter 中的聊天和 GitHub 中的評論來看,我們收到了一個一致的資訊:Spring 生態系統需要授權伺服器的支援。

未來的計劃

直到現在,Spring Authorization Server 還只是一個想法。現在,我們正式推出 Spring Authorization Server,作為一個由 Spring Security 團隊領導的社群驅動專案。

該專案將作為 Spring 實驗專案中的一個獨立專案啟動,以便更快地發展。在您的幫助下,該專案將像最初的 Spring Security OAuth 專案一樣成長。

參與其中

我們非常樂意邀請您加入我們。如果您想參與其中,請閱讀 CONTRIBUTING 文件。我們迫不及待地想聽到您的聲音,一如既往,感謝您成為 Spring 社群的一員!

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有