Spring Authorization Server授权服务器如何快速上手?

2026-05-19 21:371阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计890个文字,预计阅读时间需要4分钟。

Spring Authorization Server授权服务器如何快速上手?

11月8日,Spring官方强烈建议使用Spring Authorization Server替换过时的Spring Security OAuth2.0。考虑到Spring Security OAuth2.0的结束生命周期还有不到半年的时间,现在是进行变更的好时机。

11月8日Spring官方已经强烈建议使用Spring Authorization Server替换已经过时的Spring Security OAuth2.0,距离Spring Security OAuth2.0结束生命周期还有小半年的时间,是时候做出改变了。目前Spring Authorization Server已经进入生产就绪阶段。今天跟着胖哥的节奏搞一搞Spring Authorization Server授权服务器框架。

目前Spring Security的体系

在目前的Spring Security 5.x中将OAuth2.0 ClientOAuth2.0 Resource Server进行了模块化。
Spring Security是一定要引入的。

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

如果你要增加OAuth2.0 Client支持,可以引入:

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

如果需要OAuth2.0 Resource Server支持,可以引入:

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

现在如果你要增加OAuth2.0 Authorization Server支持的话,额外引入下面的依赖就可以了:

<dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-oauth2-authorization-server</artifactId> <!-- 截至现在版本 --> <version>0.2.0</version> </dependency>

至此OAuth2.0三大模块齐活了。

Spring Authorization Server

我们的重点还是回到Spring Authorization Server上,目前该项目已经具备生产就绪能力。研究了几天后,简单出了一个DEMO,来帮助希望学习该框架的同学来理解它。

DEMO的流程

本DEMO将对OAuth 2.0的授权码模式(authorization_code)进行演示。这里分两个项目;

  • oauth2-client项目,顾名思义作为OAuth2.0 Client,发起对授权服务器的请求授权。
  • oauth2-server项目,基于Spring Authorization Server搭建的授权服务器,提供授权服务。

用户首先通过/oauth2/authorization/{registrationId}端点向oauth2-client发起请求:

这里采用的认证方式是client-authentication-method: client_secret_basic方式,详见OAuth2.0协议。

授权服务器将Token返回给客户端,完成请求,认证客户端信息如下:

到此基于Spring Authorization Server整个授权码流程完成了。

DEMO地址:gitee.com/felord/spring-security-oauth2-tutorial

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

个人博客:felord.cn

Spring Authorization Server授权服务器如何快速上手?

博主:码农小胖哥
出处:felord.cn
本文版权归原作者所有,不可商用,转载需要声明出处,否则保留追究法律责任的权利。如果文中有什么错误,欢迎指出。以免更多的人被误导。

本文共计890个文字,预计阅读时间需要4分钟。

Spring Authorization Server授权服务器如何快速上手?

11月8日,Spring官方强烈建议使用Spring Authorization Server替换过时的Spring Security OAuth2.0。考虑到Spring Security OAuth2.0的结束生命周期还有不到半年的时间,现在是进行变更的好时机。

11月8日Spring官方已经强烈建议使用Spring Authorization Server替换已经过时的Spring Security OAuth2.0,距离Spring Security OAuth2.0结束生命周期还有小半年的时间,是时候做出改变了。目前Spring Authorization Server已经进入生产就绪阶段。今天跟着胖哥的节奏搞一搞Spring Authorization Server授权服务器框架。

目前Spring Security的体系

在目前的Spring Security 5.x中将OAuth2.0 ClientOAuth2.0 Resource Server进行了模块化。
Spring Security是一定要引入的。

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

如果你要增加OAuth2.0 Client支持,可以引入:

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

如果需要OAuth2.0 Resource Server支持,可以引入:

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

现在如果你要增加OAuth2.0 Authorization Server支持的话,额外引入下面的依赖就可以了:

<dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-oauth2-authorization-server</artifactId> <!-- 截至现在版本 --> <version>0.2.0</version> </dependency>

至此OAuth2.0三大模块齐活了。

Spring Authorization Server

我们的重点还是回到Spring Authorization Server上,目前该项目已经具备生产就绪能力。研究了几天后,简单出了一个DEMO,来帮助希望学习该框架的同学来理解它。

DEMO的流程

本DEMO将对OAuth 2.0的授权码模式(authorization_code)进行演示。这里分两个项目;

  • oauth2-client项目,顾名思义作为OAuth2.0 Client,发起对授权服务器的请求授权。
  • oauth2-server项目,基于Spring Authorization Server搭建的授权服务器,提供授权服务。

用户首先通过/oauth2/authorization/{registrationId}端点向oauth2-client发起请求:

这里采用的认证方式是client-authentication-method: client_secret_basic方式,详见OAuth2.0协议。

授权服务器将Token返回给客户端,完成请求,认证客户端信息如下:

到此基于Spring Authorization Server整个授权码流程完成了。

DEMO地址:gitee.com/felord/spring-security-oauth2-tutorial

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

个人博客:felord.cn

Spring Authorization Server授权服务器如何快速上手?

博主:码农小胖哥
出处:felord.cn
本文版权归原作者所有,不可商用,转载需要声明出处,否则保留追究法律责任的权利。如果文中有什么错误,欢迎指出。以免更多的人被误导。