Skip to content

Commit 03122b7

Browse files
committed
Add ability to disable endpoints related to oidc
Issue spring-projectsgh-1882 Signed-off-by: Tommy Tsang <[email protected]>
1 parent 629239f commit 03122b7

File tree

1 file changed

+23
-5
lines changed
  • oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/config/annotation/web/configurers

1 file changed

+23
-5
lines changed

Diff for: oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/config/annotation/web/configurers/OidcConfigurer.java

+23-5
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,6 @@
1515
*/
1616
package org.springframework.security.oauth2.server.authorization.config.annotation.web.configurers;
1717

18-
import java.util.ArrayList;
19-
import java.util.LinkedHashMap;
20-
import java.util.List;
21-
import java.util.Map;
22-
2318
import org.springframework.security.config.Customizer;
2419
import org.springframework.security.config.annotation.ObjectPostProcessor;
2520
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
@@ -30,6 +25,11 @@
3025
import org.springframework.security.web.util.matcher.RequestMatcher;
3126
import org.springframework.web.util.UriComponentsBuilder;
3227

28+
import java.util.ArrayList;
29+
import java.util.LinkedHashMap;
30+
import java.util.List;
31+
import java.util.Map;
32+
3333
/**
3434
* Configurer for OpenID Connect 1.0 support.
3535
*
@@ -73,6 +73,11 @@ public OidcConfigurer providerConfigurationEndpoint(
7373
return this;
7474
}
7575

76+
public OidcConfigurer disableProviderConfigurationEndpoint() {
77+
removeConfigurer(OidcProviderConfigurationEndpointConfigurer.class);
78+
return this;
79+
}
80+
7681
/**
7782
* Configures the OpenID Connect 1.0 RP-Initiated Logout Endpoint.
7883
* @param logoutEndpointCustomizer the {@link Customizer} providing access to the
@@ -85,6 +90,11 @@ public OidcConfigurer logoutEndpoint(Customizer<OidcLogoutEndpointConfigurer> lo
8590
return this;
8691
}
8792

93+
public OidcConfigurer disableLogoutEndpoint() {
94+
removeConfigurer(OidcLogoutEndpointConfigurer.class);
95+
return this;
96+
}
97+
8898
/**
8999
* Configures the OpenID Connect Dynamic Client Registration 1.0 Endpoint.
90100
* @param clientRegistrationEndpointCustomizer the {@link Customizer} providing access
@@ -115,6 +125,11 @@ public OidcConfigurer userInfoEndpoint(Customizer<OidcUserInfoEndpointConfigurer
115125
return this;
116126
}
117127

128+
public OidcConfigurer disableUserInfoEndpoint() {
129+
removeConfigurer(OidcUserInfoEndpointConfigurer.class);
130+
return this;
131+
}
132+
118133
@Override
119134
void init(HttpSecurity httpSecurity) {
120135
List<RequestMatcher> requestMatchers = new ArrayList<>();
@@ -165,4 +180,7 @@ private <T extends AbstractOAuth2Configurer> void addConfigurer(Class<T> configu
165180
this.configurers.put(configurerType, configurer);
166181
}
167182

183+
private void removeConfigurer(Class<?> configurerType) {
184+
this.configurers.remove(configurerType);
185+
}
168186
}

0 commit comments

Comments
 (0)