15
15
*/
16
16
package org .springframework .security .oauth2 .server .authorization .config .annotation .web .configurers ;
17
17
18
- import java .util .ArrayList ;
19
- import java .util .LinkedHashMap ;
20
- import java .util .List ;
21
- import java .util .Map ;
22
-
23
18
import org .springframework .security .config .Customizer ;
24
19
import org .springframework .security .config .annotation .ObjectPostProcessor ;
25
20
import org .springframework .security .config .annotation .web .builders .HttpSecurity ;
30
25
import org .springframework .security .web .util .matcher .RequestMatcher ;
31
26
import org .springframework .web .util .UriComponentsBuilder ;
32
27
28
+ import java .util .ArrayList ;
29
+ import java .util .LinkedHashMap ;
30
+ import java .util .List ;
31
+ import java .util .Map ;
32
+
33
33
/**
34
34
* Configurer for OpenID Connect 1.0 support.
35
35
*
@@ -73,6 +73,11 @@ public OidcConfigurer providerConfigurationEndpoint(
73
73
return this ;
74
74
}
75
75
76
+ public OidcConfigurer disableProviderConfigurationEndpoint () {
77
+ removeConfigurer (OidcProviderConfigurationEndpointConfigurer .class );
78
+ return this ;
79
+ }
80
+
76
81
/**
77
82
* Configures the OpenID Connect 1.0 RP-Initiated Logout Endpoint.
78
83
* @param logoutEndpointCustomizer the {@link Customizer} providing access to the
@@ -85,6 +90,11 @@ public OidcConfigurer logoutEndpoint(Customizer<OidcLogoutEndpointConfigurer> lo
85
90
return this ;
86
91
}
87
92
93
+ public OidcConfigurer disableLogoutEndpoint () {
94
+ removeConfigurer (OidcLogoutEndpointConfigurer .class );
95
+ return this ;
96
+ }
97
+
88
98
/**
89
99
* Configures the OpenID Connect Dynamic Client Registration 1.0 Endpoint.
90
100
* @param clientRegistrationEndpointCustomizer the {@link Customizer} providing access
@@ -115,6 +125,11 @@ public OidcConfigurer userInfoEndpoint(Customizer<OidcUserInfoEndpointConfigurer
115
125
return this ;
116
126
}
117
127
128
+ public OidcConfigurer disableUserInfoEndpoint () {
129
+ removeConfigurer (OidcUserInfoEndpointConfigurer .class );
130
+ return this ;
131
+ }
132
+
118
133
@ Override
119
134
void init (HttpSecurity httpSecurity ) {
120
135
List <RequestMatcher > requestMatchers = new ArrayList <>();
@@ -165,4 +180,7 @@ private <T extends AbstractOAuth2Configurer> void addConfigurer(Class<T> configu
165
180
this .configurers .put (configurerType , configurer );
166
181
}
167
182
183
+ private void removeConfigurer (Class <?> configurerType ) {
184
+ this .configurers .remove (configurerType );
185
+ }
168
186
}
0 commit comments