我正在为OAUTH2中的client_credentials grant类型流开发一个客户端应用程序。
我无法决定在以下项目中使用哪个依赖项。
- spring-bot-starter-oauth2-client
- 春季音乐会-艺术家2
- 春季安全认证2
我参考了spring项目中的这篇文档,在该文档的客户支持部分,它有一个描述可用选项的表。但我无法理解哪一列指的是上面的哪个依赖项。
我想配置一个WebClient
或RestTemplate
,它在访问资源服务器之前自动从身份验证服务器检索OAUTH2令牌。
请指导我为我的项目选择合适的工件。
如果使用的是Spring Boot,则应选择org.springframework.boot:spring-boot-starter-oauth2-client
这包括Spring Security的OAuth 2.0客户端支持,并提供Spring Boot自动配置以设置OAuth2/Open ID Connect客户端
您可以在Spring Boot参考文档中了解如何配置客户端
您还可以在Spring Security参考文档中找到其他详细信息。
如果您没有使用Spring Boot,那么您应该选择org.springframework.security:spring-security-oauth2-client
。这还提供了Spring Security最新的OAuth 2.0客户端支持,但不包括Spring Boot自动配置
相应的文档也是Spring Security参考文档。
您提到的第三个依赖项org.springframework.security.oauth:spring-security-oauth2
不应该使用,因为它是遗留的Spring Security OAuth项目的一部分,现在已经弃用了
此库提供的功能现已转移到Spring Security中
这就是迁移指南所描述的,从遗留项目迁移到最新的Spring Security支持。
此时不应该使用org.springframework.cloud:spring-cloud-starter-oauth2
,因为它依赖于遗留的OAuth支持
随着Spring Cloud团队更新到最新的Spring Security支持,这种情况在未来可能会发生变化。