Restructure OAuth2 client auto-configuration
Previously, OAuth2 client auto-configuration was managed by a single class: - OAuth2ClientAutoConfiguration for servlet apps - ReactiveOAuth2ClientAutoConfiguration for reactive apps OAuth2ClientAutoConfiguration being for servlet apps meant that a blocking OAuth2 client was not availabile in a non-web application. The auto-configuration classes did two things: - Auto-configured beans that are specific to server-side web security that uses an OAuth2 client - Auto-configured OAuth2 client beans that may be used client- or server-side Combining these two things into a single auto-configuration class meant that you could not choose to use one or the other. For example, you may want to make use of an OAuth2 client in a web application without also using OAuth2 client-based web security. This commit restructures the auto-configuration to address these problems. There are now two auto-configurations for non-reactive apps: - OAuth2ClientAutoConfiguration - OAuth2ClientWebSecurityAutoConfiguration and two auto-configurations for reactive apps: - ReactiveOAuth2ClientAutoConfiguration - ReactiveOAuth2ClientWebSecurityAutoConfiguration This separation allows one to be used without the other. Furthermore, the conditions have been updated so that, for example, the blocking OAuth2 client is available in a non-web application. Closes gh-40997 Closes gh-44906 Co-authored-by: Moritz Halbritter <moritz.halbritter@broadcom.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
# AutoConfigureWebClient auto-configuration imports
|
||||
org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration
|
||||
org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientWebSecurityAutoConfiguration
|
||||
org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration
|
||||
org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration
|
||||
org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
org.springframework.boot.test.autoconfigure.web.servlet.MockMvcAutoConfiguration
|
||||
org.springframework.boot.test.autoconfigure.web.servlet.MockMvcWebClientAutoConfiguration
|
||||
org.springframework.boot.test.autoconfigure.web.servlet.MockMvcWebDriverAutoConfiguration
|
||||
org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration
|
||||
org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientAutoConfiguration
|
||||
org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration
|
||||
org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientWebSecurityAutoConfiguration
|
||||
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
|
||||
org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration
|
||||
org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
* Copyright 2012-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration;
|
||||
|
||||
Reference in New Issue
Block a user