Spring Authorization Server 1.0 发布概述
VMware在引入Spring Authorization Server两年半后,正式发布了1.0版本。该项目基于Spring Security,支持创建OpenID Connect 1.0身份提供者和OAuth 2.1授权服务器,取代了不再维护的Spring Security OAuth项目。
主要特性与技术栈
- 技术栈:Spring Authorization Server基于Spring Framework 6.0,要求Java 17作为最低版本。
- 核心功能:支持授权许可、令牌格式、客户端认证和协议端点等功能。
示例应用配置
通过Spring Initializr创建的Spring Boot应用示例展示了基本配置。示例应用基于REST,需要在pom.xml中添加spring-boot-starter-web依赖。
示例代码
- REST端点:创建一个简单的REST端点来返回当前时间。
- 应用启动类:使用Spring Boot启动应用。
添加Spring Authorization Server依赖
在pom.xml中添加spring-security-oauth2-authorization-server依赖后,启动应用时会生成并记录默认的安全密码。
登录功能演示
访问/time端点时,请求会被重定向到登录页面。使用默认用户名user和记录的密码登录后,请求会重定向回/time?continue并显示时间。
开发第一个应用
文档详细介绍了在配置类中定义多个@Bean组件,这些组件是Spring Authorization Server所必需的。
关键Bean定义
- 协议端点过滤器链:定义OAuth2协议端点的默认安全配置。
- 认证过滤器链:定义Spring Security的认证配置。
- 用户详情服务:简化示例中在内存中存储用户信息。
- 注册客户端仓库:在内存中注册新客户端。
- JWK源:使用RSA密钥对生成和签名访问令牌。
- Jwt解码器:解码签名的访问令牌。
- 授权服务器设置:配置OAuth2授权服务器。
扩展功能
应用可以进一步扩展以使用各种OAuth2和OpenID Connect 1.0功能,如令牌管理等。
资源与支持
- 视频教程:由Spring Security团队的核心贡献者Joe Grandja和《Spring Security in Action》作者Laurentiu Spilca提供的详细讲解视频。
- 支持政策:根据VMware Tanzu开源软件支持政策,主要版本支持长达三年,VMware还提供商业24/7支持。
- 更多信息:可以通过《入门指南》、参考文档和GitHub上的示例获取更多信息。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。