From aebc613862fffaef3344b0842f902c479e45cc90 Mon Sep 17 00:00:00 2001 From: Joe Grandja Date: Mon, 22 Aug 2022 16:57:00 -0400 Subject: [PATCH] Make AuthorizationServerContext an interface Closes gh-867 --- .../AuthorizationServerContextFilter.java | 28 ++++++++++- .../context/AuthorizationServerContext.java | 36 ++------------ ...tAssertionAuthenticationProviderTests.java | 4 +- ...zationCodeAuthenticationProviderTests.java | 4 +- ...odeRequestAuthenticationProviderTests.java | 4 +- ...redentialsAuthenticationProviderTests.java | 4 +- ...freshTokenAuthenticationProviderTests.java | 4 +- .../TestAuthorizationServerContext.java | 47 +++++++++++++++++++ ...gistrationAuthenticationProviderTests.java | 3 +- ...viderConfigurationEndpointFilterTests.java | 6 +-- .../token/JwtGeneratorTests.java | 3 +- .../OAuth2AccessTokenGeneratorTests.java | 3 +- .../token/OAuth2TokenClaimsContextTests.java | 3 +- ...tionServerMetadataEndpointFilterTests.java | 6 +-- 14 files changed, 102 insertions(+), 53 deletions(-) create mode 100644 oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/context/TestAuthorizationServerContext.java diff --git a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/config/annotation/web/configurers/AuthorizationServerContextFilter.java b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/config/annotation/web/configurers/AuthorizationServerContextFilter.java index 0f3a7e4a..7f43a559 100644 --- a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/config/annotation/web/configurers/AuthorizationServerContextFilter.java +++ b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/config/annotation/web/configurers/AuthorizationServerContextFilter.java @@ -16,6 +16,7 @@ package org.springframework.security.oauth2.server.authorization.config.annotation.web.configurers; import java.io.IOException; +import java.util.function.Supplier; import javax.servlet.FilterChain; import javax.servlet.ServletException; @@ -52,8 +53,10 @@ final class AuthorizationServerContextFilter extends OncePerRequestFilter { throws ServletException, IOException { try { - AuthorizationServerContext authorizationServerContext = new AuthorizationServerContext( - this.authorizationServerSettings, () -> resolveIssuer(this.authorizationServerSettings, request)); + AuthorizationServerContext authorizationServerContext = + new DefaultAuthorizationServerContext( + () -> resolveIssuer(this.authorizationServerSettings, request), + this.authorizationServerSettings); AuthorizationServerContextHolder.setContext(authorizationServerContext); filterChain.doFilter(request, response); } finally { @@ -78,4 +81,25 @@ final class AuthorizationServerContextFilter extends OncePerRequestFilter { // @formatter:on } + private static final class DefaultAuthorizationServerContext implements AuthorizationServerContext { + private final Supplier issuerSupplier; + private final AuthorizationServerSettings authorizationServerSettings; + + private DefaultAuthorizationServerContext(Supplier issuerSupplier, AuthorizationServerSettings authorizationServerSettings) { + this.issuerSupplier = issuerSupplier; + this.authorizationServerSettings = authorizationServerSettings; + } + + @Override + public String getIssuer() { + return this.issuerSupplier.get(); + } + + @Override + public AuthorizationServerSettings getAuthorizationServerSettings() { + return this.authorizationServerSettings; + } + + } + } diff --git a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/context/AuthorizationServerContext.java b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/context/AuthorizationServerContext.java index d0c76142..a12ef305 100644 --- a/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/context/AuthorizationServerContext.java +++ b/oauth2-authorization-server/src/main/java/org/springframework/security/oauth2/server/authorization/context/AuthorizationServerContext.java @@ -15,11 +15,7 @@ */ package org.springframework.security.oauth2.server.authorization.context; -import java.util.function.Supplier; - -import org.springframework.lang.Nullable; import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; -import org.springframework.util.Assert; /** * A context that holds information of the Authorization Server runtime environment. @@ -29,42 +25,20 @@ import org.springframework.util.Assert; * @see AuthorizationServerSettings * @see AuthorizationServerContextHolder */ -public final class AuthorizationServerContext { - private final AuthorizationServerSettings authorizationServerSettings; - private final Supplier issuerSupplier; +public interface AuthorizationServerContext { /** - * Constructs an {@code AuthorizationServerContext} using the provided parameters. + * Returns the {@code URL} of the Authorization Server's issuer identifier. * - * @param authorizationServerSettings the authorization server settings - * @param issuerSupplier a {@code Supplier} for the {@code URL} of the Authorization Server's issuer identifier + * @return the {@code URL} of the Authorization Server's issuer identifier */ - public AuthorizationServerContext(AuthorizationServerSettings authorizationServerSettings, @Nullable Supplier issuerSupplier) { - Assert.notNull(authorizationServerSettings, "authorizationServerSettings cannot be null"); - this.authorizationServerSettings = authorizationServerSettings; - this.issuerSupplier = issuerSupplier; - } + String getIssuer(); /** * Returns the {@link AuthorizationServerSettings}. * * @return the {@link AuthorizationServerSettings} */ - public AuthorizationServerSettings getAuthorizationServerSettings() { - return this.authorizationServerSettings; - } - - /** - * Returns the {@code URL} of the Authorization Server's issuer identifier. - * The issuer identifier is resolved from the constructor parameter {@code Supplier} - * or if not provided then defaults to {@link AuthorizationServerSettings#getIssuer()}. - * - * @return the {@code URL} of the Authorization Server's issuer identifier - */ - public String getIssuer() { - return this.issuerSupplier != null ? - this.issuerSupplier.get() : - getAuthorizationServerSettings().getIssuer(); - } + AuthorizationServerSettings getAuthorizationServerSettings(); } diff --git a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/JwtClientAssertionAuthenticationProviderTests.java b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/JwtClientAssertionAuthenticationProviderTests.java index de66519e..1ddb1aed 100644 --- a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/JwtClientAssertionAuthenticationProviderTests.java +++ b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/JwtClientAssertionAuthenticationProviderTests.java @@ -57,8 +57,8 @@ import org.springframework.security.oauth2.server.authorization.TestOAuth2Author import org.springframework.security.oauth2.server.authorization.client.RegisteredClient; import org.springframework.security.oauth2.server.authorization.client.RegisteredClientRepository; import org.springframework.security.oauth2.server.authorization.client.TestRegisteredClients; -import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContextHolder; +import org.springframework.security.oauth2.server.authorization.context.TestAuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; import org.springframework.security.oauth2.server.authorization.settings.ClientSettings; import org.springframework.web.util.UriComponentsBuilder; @@ -100,7 +100,7 @@ public class JwtClientAssertionAuthenticationProviderTests { this.authenticationProvider = new JwtClientAssertionAuthenticationProvider( this.registeredClientRepository, this.authorizationService); this.authorizationServerSettings = AuthorizationServerSettings.builder().issuer("https://auth-server.com").build(); - AuthorizationServerContextHolder.setContext(new AuthorizationServerContext(this.authorizationServerSettings, null)); + AuthorizationServerContextHolder.setContext(new TestAuthorizationServerContext(this.authorizationServerSettings, null)); } @Test diff --git a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2AuthorizationCodeAuthenticationProviderTests.java b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2AuthorizationCodeAuthenticationProviderTests.java index 90087e00..984c410b 100644 --- a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2AuthorizationCodeAuthenticationProviderTests.java +++ b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2AuthorizationCodeAuthenticationProviderTests.java @@ -54,8 +54,8 @@ import org.springframework.security.oauth2.server.authorization.OAuth2TokenType; import org.springframework.security.oauth2.server.authorization.TestOAuth2Authorizations; import org.springframework.security.oauth2.server.authorization.client.RegisteredClient; import org.springframework.security.oauth2.server.authorization.client.TestRegisteredClients; -import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContextHolder; +import org.springframework.security.oauth2.server.authorization.context.TestAuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; import org.springframework.security.oauth2.server.authorization.settings.OAuth2TokenFormat; import org.springframework.security.oauth2.server.authorization.settings.TokenSettings; @@ -119,7 +119,7 @@ public class OAuth2AuthorizationCodeAuthenticationProviderTests { this.authenticationProvider = new OAuth2AuthorizationCodeAuthenticationProvider( this.authorizationService, this.tokenGenerator); AuthorizationServerSettings authorizationServerSettings = AuthorizationServerSettings.builder().issuer("https://provider.com").build(); - AuthorizationServerContextHolder.setContext(new AuthorizationServerContext(authorizationServerSettings, null)); + AuthorizationServerContextHolder.setContext(new TestAuthorizationServerContext(authorizationServerSettings, null)); } @After diff --git a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2AuthorizationCodeRequestAuthenticationProviderTests.java b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2AuthorizationCodeRequestAuthenticationProviderTests.java index a57e2c14..f86d2283 100644 --- a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2AuthorizationCodeRequestAuthenticationProviderTests.java +++ b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2AuthorizationCodeRequestAuthenticationProviderTests.java @@ -48,8 +48,8 @@ import org.springframework.security.oauth2.server.authorization.TestOAuth2Author import org.springframework.security.oauth2.server.authorization.client.RegisteredClient; import org.springframework.security.oauth2.server.authorization.client.RegisteredClientRepository; import org.springframework.security.oauth2.server.authorization.client.TestRegisteredClients; -import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContextHolder; +import org.springframework.security.oauth2.server.authorization.context.TestAuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; import org.springframework.security.oauth2.server.authorization.settings.ClientSettings; import org.springframework.security.oauth2.server.authorization.token.OAuth2TokenGenerator; @@ -88,7 +88,7 @@ public class OAuth2AuthorizationCodeRequestAuthenticationProviderTests { this.principal = new TestingAuthenticationToken("principalName", "password"); this.principal.setAuthenticated(true); AuthorizationServerSettings authorizationServerSettings = AuthorizationServerSettings.builder().issuer("https://provider.com").build(); - AuthorizationServerContextHolder.setContext(new AuthorizationServerContext(authorizationServerSettings, null)); + AuthorizationServerContextHolder.setContext(new TestAuthorizationServerContext(authorizationServerSettings, null)); } @Test diff --git a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2ClientCredentialsAuthenticationProviderTests.java b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2ClientCredentialsAuthenticationProviderTests.java index 2ec7fda6..b59d2485 100644 --- a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2ClientCredentialsAuthenticationProviderTests.java +++ b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2ClientCredentialsAuthenticationProviderTests.java @@ -42,8 +42,8 @@ import org.springframework.security.oauth2.server.authorization.OAuth2Authorizat import org.springframework.security.oauth2.server.authorization.OAuth2TokenType; import org.springframework.security.oauth2.server.authorization.client.RegisteredClient; import org.springframework.security.oauth2.server.authorization.client.TestRegisteredClients; -import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContextHolder; +import org.springframework.security.oauth2.server.authorization.context.TestAuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; import org.springframework.security.oauth2.server.authorization.settings.OAuth2TokenFormat; import org.springframework.security.oauth2.server.authorization.settings.TokenSettings; @@ -100,7 +100,7 @@ public class OAuth2ClientCredentialsAuthenticationProviderTests { this.authenticationProvider = new OAuth2ClientCredentialsAuthenticationProvider( this.authorizationService, this.tokenGenerator); AuthorizationServerSettings authorizationServerSettings = AuthorizationServerSettings.builder().issuer("https://provider.com").build(); - AuthorizationServerContextHolder.setContext(new AuthorizationServerContext(authorizationServerSettings, null)); + AuthorizationServerContextHolder.setContext(new TestAuthorizationServerContext(authorizationServerSettings, null)); } @After diff --git a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2RefreshTokenAuthenticationProviderTests.java b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2RefreshTokenAuthenticationProviderTests.java index a17b5da8..147ce07d 100644 --- a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2RefreshTokenAuthenticationProviderTests.java +++ b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/authentication/OAuth2RefreshTokenAuthenticationProviderTests.java @@ -51,8 +51,8 @@ import org.springframework.security.oauth2.server.authorization.OAuth2TokenType; import org.springframework.security.oauth2.server.authorization.TestOAuth2Authorizations; import org.springframework.security.oauth2.server.authorization.client.RegisteredClient; import org.springframework.security.oauth2.server.authorization.client.TestRegisteredClients; -import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContextHolder; +import org.springframework.security.oauth2.server.authorization.context.TestAuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; import org.springframework.security.oauth2.server.authorization.settings.OAuth2TokenFormat; import org.springframework.security.oauth2.server.authorization.settings.TokenSettings; @@ -117,7 +117,7 @@ public class OAuth2RefreshTokenAuthenticationProviderTests { this.authenticationProvider = new OAuth2RefreshTokenAuthenticationProvider( this.authorizationService, this.tokenGenerator); AuthorizationServerSettings authorizationServerSettings = AuthorizationServerSettings.builder().issuer("https://provider.com").build(); - AuthorizationServerContextHolder.setContext(new AuthorizationServerContext(authorizationServerSettings, null)); + AuthorizationServerContextHolder.setContext(new TestAuthorizationServerContext(authorizationServerSettings, null)); } @After diff --git a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/context/TestAuthorizationServerContext.java b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/context/TestAuthorizationServerContext.java new file mode 100644 index 00000000..19e8299c --- /dev/null +++ b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/context/TestAuthorizationServerContext.java @@ -0,0 +1,47 @@ +/* + * Copyright 2020-2022 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.security.oauth2.server.authorization.context; + +import java.util.function.Supplier; + +import org.springframework.lang.Nullable; +import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; + +/** + * @author Joe Grandja + */ +public class TestAuthorizationServerContext implements AuthorizationServerContext { + private final AuthorizationServerSettings authorizationServerSettings; + private final Supplier issuerSupplier; + + public TestAuthorizationServerContext(AuthorizationServerSettings authorizationServerSettings, @Nullable Supplier issuerSupplier) { + this.authorizationServerSettings = authorizationServerSettings; + this.issuerSupplier = issuerSupplier; + } + + @Override + public String getIssuer() { + return this.issuerSupplier != null ? + this.issuerSupplier.get() : + getAuthorizationServerSettings().getIssuer(); + } + + @Override + public AuthorizationServerSettings getAuthorizationServerSettings() { + return this.authorizationServerSettings; + } + +} diff --git a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/oidc/authentication/OidcClientRegistrationAuthenticationProviderTests.java b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/oidc/authentication/OidcClientRegistrationAuthenticationProviderTests.java index df053fa1..a7191385 100644 --- a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/oidc/authentication/OidcClientRegistrationAuthenticationProviderTests.java +++ b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/oidc/authentication/OidcClientRegistrationAuthenticationProviderTests.java @@ -54,6 +54,7 @@ import org.springframework.security.oauth2.server.authorization.client.Registere import org.springframework.security.oauth2.server.authorization.client.TestRegisteredClients; import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContextHolder; +import org.springframework.security.oauth2.server.authorization.context.TestAuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.oidc.OidcClientMetadataClaimNames; import org.springframework.security.oauth2.server.authorization.oidc.OidcClientRegistration; import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; @@ -104,7 +105,7 @@ public class OidcClientRegistrationAuthenticationProviderTests { } }); this.authorizationServerSettings = AuthorizationServerSettings.builder().issuer("https://provider.com").build(); - AuthorizationServerContextHolder.setContext(new AuthorizationServerContext(this.authorizationServerSettings, null)); + AuthorizationServerContextHolder.setContext(new TestAuthorizationServerContext(this.authorizationServerSettings, null)); this.authenticationProvider = new OidcClientRegistrationAuthenticationProvider( this.registeredClientRepository, this.authorizationService, this.tokenGenerator); } diff --git a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/oidc/web/OidcProviderConfigurationEndpointFilterTests.java b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/oidc/web/OidcProviderConfigurationEndpointFilterTests.java index b41183f9..a21ab987 100644 --- a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/oidc/web/OidcProviderConfigurationEndpointFilterTests.java +++ b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/oidc/web/OidcProviderConfigurationEndpointFilterTests.java @@ -25,8 +25,8 @@ import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; -import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContextHolder; +import org.springframework.security.oauth2.server.authorization.context.TestAuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; import static org.assertj.core.api.Assertions.assertThat; @@ -107,7 +107,7 @@ public class OidcProviderConfigurationEndpointFilterTests { .tokenRevocationEndpoint(tokenRevocationEndpoint) .tokenIntrospectionEndpoint(tokenIntrospectionEndpoint) .build(); - AuthorizationServerContextHolder.setContext(new AuthorizationServerContext(authorizationServerSettings, null)); + AuthorizationServerContextHolder.setContext(new TestAuthorizationServerContext(authorizationServerSettings, null)); OidcProviderConfigurationEndpointFilter filter = new OidcProviderConfigurationEndpointFilter(authorizationServerSettings); @@ -145,7 +145,7 @@ public class OidcProviderConfigurationEndpointFilterTests { AuthorizationServerSettings authorizationServerSettings = AuthorizationServerSettings.builder() .issuer("https://this is an invalid URL") .build(); - AuthorizationServerContextHolder.setContext(new AuthorizationServerContext(authorizationServerSettings, null)); + AuthorizationServerContextHolder.setContext(new TestAuthorizationServerContext(authorizationServerSettings, null)); OidcProviderConfigurationEndpointFilter filter = new OidcProviderConfigurationEndpointFilter(authorizationServerSettings); diff --git a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/token/JwtGeneratorTests.java b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/token/JwtGeneratorTests.java index a708cfa2..b4f672cf 100644 --- a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/token/JwtGeneratorTests.java +++ b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/token/JwtGeneratorTests.java @@ -47,6 +47,7 @@ import org.springframework.security.oauth2.server.authorization.authentication.O import org.springframework.security.oauth2.server.authorization.client.RegisteredClient; import org.springframework.security.oauth2.server.authorization.client.TestRegisteredClients; import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContext; +import org.springframework.security.oauth2.server.authorization.context.TestAuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; import org.springframework.security.oauth2.server.authorization.settings.OAuth2TokenFormat; import org.springframework.security.oauth2.server.authorization.settings.TokenSettings; @@ -75,7 +76,7 @@ public class JwtGeneratorTests { this.jwtGenerator = new JwtGenerator(this.jwtEncoder); this.jwtGenerator.setJwtCustomizer(this.jwtCustomizer); AuthorizationServerSettings authorizationServerSettings = AuthorizationServerSettings.builder().issuer("https://provider.com").build(); - this.authorizationServerContext = new AuthorizationServerContext(authorizationServerSettings, null); + this.authorizationServerContext = new TestAuthorizationServerContext(authorizationServerSettings, null); } @Test diff --git a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/token/OAuth2AccessTokenGeneratorTests.java b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/token/OAuth2AccessTokenGeneratorTests.java index ea3b0b50..132bc05d 100644 --- a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/token/OAuth2AccessTokenGeneratorTests.java +++ b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/token/OAuth2AccessTokenGeneratorTests.java @@ -39,6 +39,7 @@ import org.springframework.security.oauth2.server.authorization.authentication.O import org.springframework.security.oauth2.server.authorization.client.RegisteredClient; import org.springframework.security.oauth2.server.authorization.client.TestRegisteredClients; import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContext; +import org.springframework.security.oauth2.server.authorization.context.TestAuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; import org.springframework.security.oauth2.server.authorization.settings.OAuth2TokenFormat; import org.springframework.security.oauth2.server.authorization.settings.TokenSettings; @@ -64,7 +65,7 @@ public class OAuth2AccessTokenGeneratorTests { this.accessTokenGenerator = new OAuth2AccessTokenGenerator(); this.accessTokenGenerator.setAccessTokenCustomizer(this.accessTokenCustomizer); AuthorizationServerSettings authorizationServerSettings = AuthorizationServerSettings.builder().issuer("https://provider.com").build(); - this.authorizationServerContext = new AuthorizationServerContext(authorizationServerSettings, null); + this.authorizationServerContext = new TestAuthorizationServerContext(authorizationServerSettings, null); } @Test diff --git a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/token/OAuth2TokenClaimsContextTests.java b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/token/OAuth2TokenClaimsContextTests.java index 2889e759..4f042295 100644 --- a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/token/OAuth2TokenClaimsContextTests.java +++ b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/token/OAuth2TokenClaimsContextTests.java @@ -35,6 +35,7 @@ import org.springframework.security.oauth2.server.authorization.authentication.O import org.springframework.security.oauth2.server.authorization.client.RegisteredClient; import org.springframework.security.oauth2.server.authorization.client.TestRegisteredClients; import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContext; +import org.springframework.security.oauth2.server.authorization.context.TestAuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; import static org.assertj.core.api.Assertions.assertThat; @@ -75,7 +76,7 @@ public class OAuth2TokenClaimsContextTests { OAuth2Authorization authorization = TestOAuth2Authorizations.authorization(registeredClient).build(); Authentication principal = authorization.getAttribute(Principal.class.getName()); AuthorizationServerSettings authorizationServerSettings = AuthorizationServerSettings.builder().issuer(issuer).build(); - AuthorizationServerContext authorizationServerContext = new AuthorizationServerContext(authorizationServerSettings, null); + AuthorizationServerContext authorizationServerContext = new TestAuthorizationServerContext(authorizationServerSettings, null); OAuth2ClientAuthenticationToken clientPrincipal = new OAuth2ClientAuthenticationToken( registeredClient, ClientAuthenticationMethod.CLIENT_SECRET_BASIC, registeredClient.getClientSecret()); OAuth2AuthorizationRequest authorizationRequest = authorization.getAttribute( diff --git a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/web/OAuth2AuthorizationServerMetadataEndpointFilterTests.java b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/web/OAuth2AuthorizationServerMetadataEndpointFilterTests.java index 002e9807..2e222279 100644 --- a/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/web/OAuth2AuthorizationServerMetadataEndpointFilterTests.java +++ b/oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/web/OAuth2AuthorizationServerMetadataEndpointFilterTests.java @@ -25,8 +25,8 @@ import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; -import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.context.AuthorizationServerContextHolder; +import org.springframework.security.oauth2.server.authorization.context.TestAuthorizationServerContext; import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings; import static org.assertj.core.api.Assertions.assertThat; @@ -105,7 +105,7 @@ public class OAuth2AuthorizationServerMetadataEndpointFilterTests { .tokenRevocationEndpoint(tokenRevocationEndpoint) .tokenIntrospectionEndpoint(tokenIntrospectionEndpoint) .build(); - AuthorizationServerContextHolder.setContext(new AuthorizationServerContext(authorizationServerSettings, null)); + AuthorizationServerContextHolder.setContext(new TestAuthorizationServerContext(authorizationServerSettings, null)); OAuth2AuthorizationServerMetadataEndpointFilter filter = new OAuth2AuthorizationServerMetadataEndpointFilter(authorizationServerSettings); @@ -140,7 +140,7 @@ public class OAuth2AuthorizationServerMetadataEndpointFilterTests { AuthorizationServerSettings authorizationServerSettings = AuthorizationServerSettings.builder() .issuer("https://this is an invalid URL") .build(); - AuthorizationServerContextHolder.setContext(new AuthorizationServerContext(authorizationServerSettings, null)); + AuthorizationServerContextHolder.setContext(new TestAuthorizationServerContext(authorizationServerSettings, null)); OAuth2AuthorizationServerMetadataEndpointFilter filter = new OAuth2AuthorizationServerMetadataEndpointFilter(authorizationServerSettings);