取得領先
VMware 提供培訓和認證,以加速您的進度。
了解更多我很高興宣布 Spring Authorization Server 專案。 這是一個由 Spring Security 團隊領導的社群驅動專案,專注於為 Spring 社群提供 授權伺服器 支援。
我們如何走到這一步的故事很長,但關鍵的訊息很簡潔:如果沒有我們出色的社群,Spring 就不會是現在的樣子。
大約十年前,我們引進了一個社群驅動的開放原始碼專案 Spring Security OAuth,並將其納入 Spring 的專案組合中。 自成立以來,它已發展成為一個成熟的專案,支援 OAuth 規範的很大一部分,包括資源伺服器、客戶端、登入和授權伺服器。 難怪它已成為 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 社群的一員!