关于java:Spring-Security-OAuth正式终止维护已从官网下架

48次阅读

共计 2879 个字符,预计需要花费 8 分钟才能阅读完成。

Spring Security团队正式发表 Spring Security OAuth 终止保护。

目前官网的主页曾经高亮揭示彻底进行保护。

旧的 Spring Security OAuth 我的项目终止到 2.5.2.RELEASE 版本,该我的项目将不会再进行任何的迭代,包含 Bug 修复,之前胖哥曾经揭示该我的项目行将进行保护,有心的同学曾经进行了迁徙。

我的项目文档和代码仓库被移除

目前该项目标官网文档曾经正式从 spring.io 移除,文档曾经指向 404,这是连文档也没有了。新增了OAuth2 受权服务器 Spring Authorization Server 的文档。

不仅仅文档被移除,连我的项目的仓库也被迁徙到 Spring 的过期我的项目仓库 spring-attic 并被标记为read-only

Spring Security OAuthSpring Boot 主动配置代码仓库也一并被迁徙,也就是说 Spring Boot 相干的主动配置也被移除。

从这种状况看来大概 Spring Security OAuth 确实是死了。难道就没有可用的了吗?当然不是。

迁徙指南

这是胖哥总结的迁徙指南。

依赖项查看

那么如何查看你的我的项目是否用了旧的 OAuth2 设施呢?当然是对依赖进行查看。以下清单中的 依赖任何版本 的都是过期的,都须要迁徙:

        <dependency>        
                <groupId>org.springframework.security.oauth</groupId>
                <artifactId>spring-security-oauth-parent</artifactId>
        </dependency>
        <dependency>        
                <groupId>org.springframework.security.oauth</groupId>
                <artifactId>spring-security-oauth</artifactId>
        </dependency>
        <dependency>        
                <groupId>org.springframework.security.oauth</groupId>
                <artifactId>spring-security-oauth2</artifactId>
        </dependency>
        <dependency>
             <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-jwt</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.security.oauth.boot</groupId>
            <artifactId>spring-security-oauth2-autoconfigure</artifactId>
        </dependency>

你能够通过 mvn dependency:tree 来查看依赖树是否集成了上述依赖项。

新的 OAuth2 代替计划

须要开发者把握 OAuth2.0OAuth2.1OIDC 1.0 的一些常识。

Spring Security 5中集成了 OAuth2 ClientResource Server两个模块。如果有迁徙的须要,倡议迁徙至最新的 Spring Security 5.7.x,不便向Spring 6 过渡。以 Spring Boot 为例,首先要集成Spring Security

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

这里倡议应用最新版本,目前是 2.7。

集成 OAuth2 Client 依赖

OAuth2 Client依赖于Spring Security,不能独自应用:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-oauth2-client</artifactId>
        </dependency>

集成 Resource Server 依赖

Resource Server同样也依赖于Spring Security,不能独自应用:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
        </dependency>

集成 OAuth2 受权服务器依赖

目前 Spring 生态中的 OAuth2 受权服务器是 Spring Authorization Server,目前已具备生产就绪能力。在最新的0.3.0 版本中,官网文档正式在 spring.io 上线,须要你晓得的是它必须在 Java 11 及以上版本能力应用。它也作为一个 Spring Security 子模块,不能独自应用:

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-oauth2-authorization-server</artifactId>
            <version>0.3.0</version>
        </dependency>

走漏一下,该项目标 Spring Boot Starter 也将在不久实装。

学习指南

胖哥近几个月始终在对新的 OAuth2 相干的进行系统化总结。因而你只有关注胖哥,总能取得相干的常识和实战干货分享。当然这里胖哥也给出了一些参考的文献:

  • OAuth2 框架:https://oauth.net
  • OIDC 1.0 协定:https://openid.net
  • Spring Security: http://felord.cn
  • 新的 Spring Security OAuth2:http://felord.cn

我的项目参考代码DEMO:

  • Spring Security 5 学习:https://gitee.com/felord/secu…
  • Spring Security OAuth2 教程:https://github.com/NotFound40…
  • 受权服务器控制台 Id Server:https://github.com/NotFound40…
  • 登录扩大插件:https://github.com/NotFound40…

总结

旧的 Spring Security OAuth 过期,其实也不用恐慌,除非你们在这一方面的架构须要持续迭代。不过随着新的计划面世,旧计划的可维护性会大大降低,有条件的还是要迁徙一下的。Spring Cloud也将会在将来某个工夫点做出一些调整以适应新的架构。请继续关注,前面会及时带来相干的音讯。

关注公众号:Felordcn 获取更多资讯

集体博客:https://felord.cn

正文完
 0