Spring Security中已经弃用的AuthorizationServer有什么替代品?

56

Spring Security 5.2.2已经整合了Spring Security OAuth项目,但未包括AuthorizationServer或ResourceServer。在Spring Security 5.2.2中,AuthorizationServer的替代方案是什么?

OAuth-2.0迁移指南

本文档为将OAuth 2.0客户端和资源服务器从Spring Security OAuth 2.x迁移到Spring Security 5.2.x提供指导。由于Spring Security不提供Authorization Server支持,因此迁移Spring Security OAuth Authorization Server超出了本文档范围。

spring弃用

1个回答

111
首先需要注意的是,Spring Security OAuth 2.4.0 正式弃用了所有类
其次,根据Spring Security - OAuth 2.0 Features Matrix - FAQ

我们不再计划向Spring Security添加Authorization Server支持。

一种解决方案是使用OAuth2授权服务器,例如GluuKeycloak,但这肯定不是一件容易的事情,具体取决于您的使用方式和授权服务器中所做的自定义程度。
由于Spring社区的抗议,也有一些希望在Spring Security中实现授权服务器。根据Josh Cummings on Github:

感谢大家对不支持Authorization Server的决定提出反馈。由于这些反馈和一些内部讨论,我们正在重新审视这个决定。我们会通知社区任何进展。

参见:Spring Security OAuth 2.0 Roadmap Update ==2020年3月5日更新==
回答Joseph的问题:“我们继续使用它有任何问题吗?” :目前没有具体问题,Spring Security OAuth仍在维护,但这在不久的将来可能不是这种情况。 引用与上述相同的博客文章:
“2.3.x系列将在2020年3月到达EOL。在实现功能平衡后,我们将支持2.4.x线至少一年。”
为此,在发布Spring Security 5.2时,我们强烈建议用户开始将其遗留的OAuth 2.0客户端和资源服务器应用程序迁移到Spring Security 5.2中的新支持。
==2020年4月15日更新== 宣布全新的Spring授权服务器。 您可以在Github上找到它。
==2020年5月7日更新==

Spring博客所宣布:

[...] 计划为Spring Security Oauth 2.4.x和2.5.x系列提供补丁和安全修复,直到2021年5月。此外,安全修复将在2.5.x系列中得到支持,直到2022年5月,届时该项目将达到生命周期终点。

== 2021年7月9日更新 ==

新的Spring Authorization Server 0.1.2现已可用。根据Joe Grandja的评论,尚无生产就绪版本的明确时间表,API仍在不断发展。

== 2021年8月19日更新 ==

第一个正式支持的生产就绪版本,Spring Authorization Server 0.2.0,已经发布:Spring Authorization Server进入生产!

== 2022年3月24日更新 ==

Spring Authorization Server 0.2.3现已推出,但与已弃用的Spring Security OAuth项目授权服务器仍无法实现功能平衡。已完成的功能可以在Github wiki中找到。进展可以在ZenHub board上跟踪。

== 2022年6月1日更新 ==

Spring Security OAuth和Spring Security OAuth Boot 2自动配置项目已经达到生命周期终点。请参见官方博客文章

== 2022年11月22日更新 ==

Spring Authorization Server 1.0现已发布。它需要Spring 6、JDK 17和Tomcat 10或Jetty 11。VMware提供商业支持。


我们继续使用它会有任何问题吗? - Joseph
@OrtomalaLokni 我正在使用AuthorizationServer,你能推荐开始使用KeyCloak吗?我使用的是Spring Boot 2.3.0,但它仍未过时。但也许我应该开始使用KeyCloak? - Volkan Okçu
3
至少迁移路径现在是清晰的了...我们正在评估Keycloak,它相当不错并且具有良好的插件系统,但与能够使用自定义Spring项目进行定制化的灵活性相比,它始终是次选项。好消息!! - raven-king
15
非常感谢您持续更新!! - Sunchezz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接