Add customize client metadata example in dynamic client registration how-to

Closes gh-1044
This commit is contained in:
Dmitriy Dubson
2023-11-09 11:06:43 -05:00
committed by Joe Grandja
parent 7f1cde0117
commit ef6b1aceca
5 changed files with 160 additions and 7 deletions

View File

@@ -24,6 +24,8 @@ import org.springframework.security.oauth2.server.authorization.config.annotatio
import org.springframework.security.oauth2.server.authorization.config.annotation.web.configurers.OAuth2AuthorizationServerConfigurer;
import org.springframework.security.web.SecurityFilterChain;
import static sample.registration.CustomMetadataConfig.registeredClientConverters;
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@@ -31,10 +33,13 @@ public class SecurityConfig {
@Bean
public SecurityFilterChain authorizationServerSecurityFilterChain(HttpSecurity http) throws Exception {
OAuth2AuthorizationServerConfiguration.applyDefaultSecurity(http);
http.getConfigurer(OAuth2AuthorizationServerConfigurer.class)
.oidc(oidc -> oidc.clientRegistrationEndpoint(Customizer.withDefaults())); // <1>
http.oauth2ResourceServer(oauth2ResourceServer ->
oauth2ResourceServer.jwt(Customizer.withDefaults()));
.oidc(oidc -> oidc.clientRegistrationEndpoint(endpoint -> {
endpoint.authenticationProviders(registeredClientConverters()); // <1>
}));
http.oauth2ResourceServer(oauth2ResourceServer -> oauth2ResourceServer.jwt(Customizer.withDefaults()));
return http.build();
}