Я хочу удалить пару атрибутов из этого стандартного ответа и изменить путь конечной точки к /oauth2/token/.well-known/openid-configuration.
Для этого я продублировал OidcProviderConfigurationEndpointFilter и создал необходимые изменения и зарегистрировал его в авторизацииServerSecurityFilterChain.
Request Matcher в дублированном фильтре выглядит следующим образом:
Код: Выделить всё
private static RequestMatcher createRequestMatcher() {
final RequestMatcher defaultRequestMatcher = new AntPathRequestMatcher(
"/oauth2/token/.well-known/openid-configuration", HttpMethod.GET.name());
return (request) -> defaultRequestMatcher.matches(request);
}
Код: Выделить всё
SecurityFilterChain authorizationServerSecurityFilterChain(HttpSecurity http) throws Exception {
OAuth2AuthorizationServerConfiguration.applyDefaultSecurity(http);
http.getConfigurer(OAuth2AuthorizationServerConfigurer.class)
.authorizationEndpoint((authorizationEndpoint) -> authorizationEndpoint
.authenticationProviders(configureAuthenticationValidator()))
.tokenEndpoint((tokenEndpoint) -> tokenEndpoint
.authenticationProviders(configureAuthenticationValidator())
.errorResponseHandler(new ErrorResponseHandler()))
.oidc(Customizer.withDefaults());
// Duplicated Filter
OidcWellknownEndpointFilter oidcWellknownEndpointFilter = new OidcWellknownEndpointFilter();
http.addFilterBefore(oidcWellknownEndpointFilter,
AbstractPreAuthenticatedProcessingFilter.class);
return http.build();
}
Я пытался добавить PermitAll() для этой конечной точки, как показано ниже:
Код: Выделить всё
SecurityFilterChain authorizationServerSecurityFilterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests((authorize) -> authorize
.requestMatchers("/oauth2/token/.well-known/openid-configuration").permitAll());
OAuth2AuthorizationServerConfiguration.applyDefaultSecurity(http);
http.getConfigurer....
}
Будем благодарны за любую помощь по этому поводу.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ion-server
Мобильная версия