領先一步
VMware 提供培訓和認證,助您快速進步。
瞭解更多我很高興宣佈 Spring Authorization Server 專案。這是一個由 Spring Security 團隊主導的社群驅動專案,專注於為 Spring 社群提供 授權伺服器 (Authorization Server) 支援。
我們之所以能走到今天,過程漫長,但要點卻簡單明瞭:沒有我們出色的社群,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 claims、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 社群的一員!