diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurer.java b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurer.java index 271175ad2e..62bb660bbd 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurer.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurer.java @@ -80,8 +80,8 @@ import org.springframework.web.accept.HeaderContentNegotiationStrategy; * authentication failures are handled *
  • {@link #bearerTokenResolver(BearerTokenResolver)} - customizes how to resolve a * bearer token from the request
  • - *
  • {@link #bearerTokenAuthenticationConverter(AuthenticationConverter)}
  • - - * customizes how to convert a bear token authentication from the request + *
  • {@link #authenticationConverter(AuthenticationConverter)}
  • - customizes how to + * convert a bearer token authentication from the request *
  • {@link #jwt(Customizer)} - enables Jwt-encoded bearer token support
  • *
  • {@link #opaqueToken(Customizer)} - enables opaque bearer token support
  • * @@ -195,8 +195,7 @@ public final class OAuth2ResourceServerConfigurer bearerTokenAuthenticationConverter( - AuthenticationConverter authenticationConverter) { + public OAuth2ResourceServerConfigurer authenticationConverter(AuthenticationConverter authenticationConverter) { Assert.notNull(authenticationConverter, "authenticationConverter cannot be null"); this.authenticationConverter = authenticationConverter; return this; @@ -266,7 +265,7 @@ public final class OAuth2ResourceServerConfigurer authenticationManager; } - this.authenticationConverter = getBearerTokenAuthenticationConverter(); + this.authenticationConverter = getAuthenticationConverter(); BearerTokenAuthenticationFilter filter = new BearerTokenAuthenticationFilter(resolver); filter.setAuthenticationConverter(this.authenticationConverter); @@ -363,7 +362,7 @@ public final class OAuth2ResourceServerConfigurer 0) { this.authenticationConverter = this.context.getBean(BearerTokenAuthenticationConverter.class); diff --git a/config/src/test/java/org/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurerTests.java b/config/src/test/java/org/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurerTests.java index 5072e6d768..d19091d64e 100644 --- a/config/src/test/java/org/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurerTests.java +++ b/config/src/test/java/org/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurerTests.java @@ -732,8 +732,8 @@ public class OAuth2ResourceServerConfigurerTests { context.registerBean("converterTwo", BearerTokenAuthenticationConverter.class, () -> converterBean); this.spring.context(context).autowire(); OAuth2ResourceServerConfigurer oauth2 = new OAuth2ResourceServerConfigurer(context); - oauth2.bearerTokenAuthenticationConverter(converter); - assertThat(oauth2.getBearerTokenAuthenticationConverter()).isEqualTo(converter); + oauth2.authenticationConverter(converter); + assertThat(oauth2.getAuthenticationConverter()).isEqualTo(converter); } @Test @@ -751,16 +751,15 @@ public class OAuth2ResourceServerConfigurerTests { context.registerBean(BearerTokenAuthenticationConverter.class, () -> converterBean); this.spring.context(context).autowire(); OAuth2ResourceServerConfigurer oauth2 = new OAuth2ResourceServerConfigurer(context); - oauth2.bearerTokenAuthenticationConverter(converter); - assertThat(oauth2.getBearerTokenAuthenticationConverter()).isEqualTo(converter); + oauth2.authenticationConverter(converter); + assertThat(oauth2.getAuthenticationConverter()).isEqualTo(converter); } @Test public void getBearerTokenAuthenticationConverterWhenNoConverterSpecifiedThenTheDefaultIsUsed() { ApplicationContext context = this.spring.context(new GenericWebApplicationContext()).getContext(); OAuth2ResourceServerConfigurer oauth2 = new OAuth2ResourceServerConfigurer(context); - assertThat(oauth2.getBearerTokenAuthenticationConverter()) - .isInstanceOf(BearerTokenAuthenticationConverter.class); + assertThat(oauth2.getAuthenticationConverter()).isInstanceOf(BearerTokenAuthenticationConverter.class); } @Test @@ -770,7 +769,7 @@ public class OAuth2ResourceServerConfigurerTests { context.registerBean(BearerTokenAuthenticationConverter.class, () -> converterBean); this.spring.context(context).autowire(); OAuth2ResourceServerConfigurer oauth2 = new OAuth2ResourceServerConfigurer(context); - assertThat(oauth2.getBearerTokenAuthenticationConverter()).isEqualTo(converterBean); + assertThat(oauth2.getAuthenticationConverter()).isEqualTo(converterBean); } @@ -783,7 +782,7 @@ public class OAuth2ResourceServerConfigurerTests { this.spring.context(context).autowire(); OAuth2ResourceServerConfigurer oauth2 = new OAuth2ResourceServerConfigurer(context); BearerTokenAuthenticationToken bearerTokenAuthenticationToken = (BearerTokenAuthenticationToken) oauth2 - .getBearerTokenAuthenticationConverter().convert(servletRequest); + .getAuthenticationConverter().convert(servletRequest); String token = bearerTokenAuthenticationToken.getToken(); assertThat(token).isEqualTo("bearer customToken"); diff --git a/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/authentication/BearerTokenAuthenticationConverter.java b/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/authentication/BearerTokenAuthenticationConverter.java index a10ffd1c3d..389fdb8f9b 100644 --- a/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/authentication/BearerTokenAuthenticationConverter.java +++ b/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/authentication/BearerTokenAuthenticationConverter.java @@ -36,14 +36,10 @@ import org.springframework.util.Assert; */ public final class BearerTokenAuthenticationConverter implements AuthenticationConverter { + private BearerTokenResolver bearerTokenResolver = new DefaultBearerTokenResolver(); + private AuthenticationDetailsSource authenticationDetailsSource = new WebAuthenticationDetailsSource(); - private BearerTokenResolver bearerTokenResolver; - - public BearerTokenAuthenticationConverter() { - this.bearerTokenResolver = new DefaultBearerTokenResolver(); - } - @Override public BearerTokenAuthenticationToken convert(HttpServletRequest request) { String token = this.bearerTokenResolver.resolve(request); diff --git a/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/web/BearerTokenAuthenticationFilter.java b/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/web/BearerTokenAuthenticationFilter.java index a945cc479a..3c709f40e7 100644 --- a/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/web/BearerTokenAuthenticationFilter.java +++ b/oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/web/BearerTokenAuthenticationFilter.java @@ -153,6 +153,17 @@ public final class BearerTokenAuthenticationFilter extends OncePerRequestFilter ((BearerTokenAuthenticationConverter) this.authenticationConverter).setBearerTokenResolver(bearerTokenResolver); } + /** + * Set the {@link AuthenticationConverter} to use. Defaults to + * {@link BearerTokenAuthenticationConverter}. + * @param authenticationConverter the {@code AuthenticationConverter} to use + * @since 5.5 + */ + public void setAuthenticationConverter(AuthenticationConverter authenticationConverter) { + Assert.notNull(authenticationConverter, "authenticationConverter cannot be null"); + this.authenticationConverter = authenticationConverter; + } + /** * Set the {@link AuthenticationEntryPoint} to use. Defaults to * {@link BearerTokenAuthenticationEntryPoint}. @@ -174,15 +185,4 @@ public final class BearerTokenAuthenticationFilter extends OncePerRequestFilter this.authenticationFailureHandler = authenticationFailureHandler; } - /** - * Set the {@link AuthenticationConverter} to use. Defaults to - * {@link BearerTokenAuthenticationConverter}. - * @param authenticationConverter the {@code AuthenticationConverter} to use - * @since 5.5 - */ - public void setAuthenticationConverter(AuthenticationConverter authenticationConverter) { - Assert.notNull(authenticationConverter, "authenticationConverter cannot be null"); - this.authenticationConverter = authenticationConverter; - } - }