oauth2 spring-authorization-server 分析

1. 选型

选用 spring security 5.2.x+作为框架,在 spring security 5.2.x+ 框架中进行扩展。

Spring 曾经有旧版支持 OAuth2 的方案:Spring Security OAuth 项目,该项目已经被逐步淘汰。但网上有不少仍然是这个方案,需要充分注意他们的区别。

1.1. Spring Security 5.2.x+

1.1.1. 说明

spring security 实现 OAuth 的框架分为 spring security OAuth 项目和 spring security 5.2.x 自带的 OAuth 功能,目前 spring security OAuth 已作废,官方推荐使用 spring security 5.2.x 自带的 OAuth

1.1.2. Spring Security 5.2.x+自带 OAuth

spring security 5.2.x+ 只有资源服务器和客户端,并不包含授权服务器,官方推荐使用 spring-authorization-server,目前版本 0.2.3。

1.spring security 5.2.x+

项目地址:Spring Security

GitHub:

Spring Boot 6.2.1 版本中,若需搭建 OAuth2 授权服务器,需要在 `pom.xml` 文件中添加 `spring-boot-starter-oauth2-authorization-server` 依赖。此模块是 Spring Security 提供的支持 OAuth2 授权服务器功能的核心组件。 以下是一个适用于 Spring Boot 6.2.1 的 `pom.xml` 中的依赖配置: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-oauth2-authorization-server</artifactId> </dependency> ``` 该依赖会自动引入 Spring Security 中与 OAuth2 授权服务器相关的模块,例如 `spring-security-oauth2-resource-server` 和 `spring-security-oauth2-client`,并确保其版本与当前 Spring Boot 版本兼容[^3]。 若需指定版本号(例如在非 Spring Boot 管理的项目中),可显式声明版本: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-oauth2-authorization-server</artifactId> <version>6.2.1</version> </dependency> ``` 此外,为了使授权服务器正常运行,还需在 `application.yml` 或 `application.properties` 中进行相关配置,例如设置客户端信息、令牌存储方式等。典型的配置包括: ```yaml spring: security: oauth2: authorizationserver: client: my-client: client-id: client client-secret: secret scopes: read,write authorized-grant-types: password,authorization_code,refresh_token redirect-uri: http://localhost:8080/login/oauth2/code/my-client ``` 该配置定义了一个客户端 `my-client`,并指定了其认证方式、授权类型和回调地址。同时,还需启用 OAuth2 授权服务器功能,通常通过配置类实现: ```java @Configuration @EnableAuthorizationServer public class OAuth2AuthorizationServerConfig extends WebSecurityConfigurerAdapter { // 配置客户端信息、令牌存储、端点等 } ``` 需要注意的是,Spring Boot 6.2.1 版本对 Java 版本有一定要求,通常支持 Java 17 及以上版本。在实际部署时,还需确保数据库连接、用户存储、加密机制等配置正确,以保障授权服务器的安全性和稳定性。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tof21

支持原创

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值