Browse Source

Revert "Support overriding RestOperations in OidcIdTokenDecoderFactory"

This reverts commit 9c352c4b4b4b853798b6ffd3c7b27f6cb51b84ce.

Issue gh-14178
Josh Cummings 1 year ago
parent
commit
b1b84f9b8a

+ 2 - 24
oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/oidc/authentication/OidcIdTokenDecoderFactory.java

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2019 the original author or authors.
  *
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * you may not use this file except in compliance with the License.
@@ -49,8 +49,6 @@ import org.springframework.security.oauth2.jwt.JwtTimestampValidator;
 import org.springframework.security.oauth2.jwt.NimbusJwtDecoder;
 import org.springframework.security.oauth2.jwt.NimbusJwtDecoder;
 import org.springframework.util.Assert;
 import org.springframework.util.Assert;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
-import org.springframework.web.client.RestOperations;
-import org.springframework.web.client.RestTemplate;
 
 
 /**
 /**
  * A {@link JwtDecoderFactory factory} that provides a {@link JwtDecoder} used for
  * A {@link JwtDecoderFactory factory} that provides a {@link JwtDecoder} used for
@@ -90,9 +88,6 @@ public final class OidcIdTokenDecoderFactory implements JwtDecoderFactory<Client
 	private Function<ClientRegistration, Converter<Map<String, Object>, Map<String, Object>>> claimTypeConverterFactory = (
 	private Function<ClientRegistration, Converter<Map<String, Object>, Map<String, Object>>> claimTypeConverterFactory = (
 			clientRegistration) -> DEFAULT_CLAIM_TYPE_CONVERTER;
 			clientRegistration) -> DEFAULT_CLAIM_TYPE_CONVERTER;
 
 
-	private Function<ClientRegistration, RestOperations> restOperationsFactory = (
-			clientRegistration) -> new RestTemplate();
-
 	/**
 	/**
 	 * Returns the default {@link Converter}'s used for type conversion of claim values
 	 * Returns the default {@link Converter}'s used for type conversion of claim values
 	 * for an {@link OidcIdToken}.
 	 * for an {@link OidcIdToken}.
@@ -179,10 +174,7 @@ public final class OidcIdTokenDecoderFactory implements JwtDecoderFactory<Client
 						null);
 						null);
 				throw new OAuth2AuthenticationException(oauth2Error, oauth2Error.toString());
 				throw new OAuth2AuthenticationException(oauth2Error, oauth2Error.toString());
 			}
 			}
-			return NimbusJwtDecoder.withJwkSetUri(jwkSetUri)
-				.jwsAlgorithm((SignatureAlgorithm) jwsAlgorithm)
-				.restOperations(this.restOperationsFactory.apply(clientRegistration))
-				.build();
+			return NimbusJwtDecoder.withJwkSetUri(jwkSetUri).jwsAlgorithm((SignatureAlgorithm) jwsAlgorithm).build();
 		}
 		}
 		if (jwsAlgorithm != null && MacAlgorithm.class.isAssignableFrom(jwsAlgorithm.getClass())) {
 		if (jwsAlgorithm != null && MacAlgorithm.class.isAssignableFrom(jwsAlgorithm.getClass())) {
 			// https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation
 			// https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation
@@ -255,18 +247,4 @@ public final class OidcIdTokenDecoderFactory implements JwtDecoderFactory<Client
 		this.claimTypeConverterFactory = claimTypeConverterFactory;
 		this.claimTypeConverterFactory = claimTypeConverterFactory;
 	}
 	}
 
 
-	/**
-	 * Sets the factory that provides a {@link RestOperations} used by
-	 * {@link NimbusJwtDecoder} to coordinate with the authorization servers indicated in
-	 * the <a href="https://tools.ietf.org/html/rfc7517#section-5">JWK Set</a> uri.
-	 * @param restOperationsFactory the factory that provides a {@link RestOperations}
-	 * used by {@link NimbusJwtDecoder}
-	 *
-	 * @since 6.3
-	 */
-	public void setRestOperationsFactory(Function<ClientRegistration, RestOperations> restOperationsFactory) {
-		Assert.notNull(restOperationsFactory, "restOperationsFactory cannot be null");
-		this.restOperationsFactory = restOperationsFactory;
-	}
-
 }
 }

+ 1 - 19
oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/oidc/authentication/OidcIdTokenDecoderFactoryTests.java

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2019 the original author or authors.
  *
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * you may not use this file except in compliance with the License.
@@ -34,8 +34,6 @@ import org.springframework.security.oauth2.jose.jws.JwsAlgorithm;
 import org.springframework.security.oauth2.jose.jws.MacAlgorithm;
 import org.springframework.security.oauth2.jose.jws.MacAlgorithm;
 import org.springframework.security.oauth2.jose.jws.SignatureAlgorithm;
 import org.springframework.security.oauth2.jose.jws.SignatureAlgorithm;
 import org.springframework.security.oauth2.jwt.Jwt;
 import org.springframework.security.oauth2.jwt.Jwt;
-import org.springframework.web.client.RestOperations;
-import org.springframework.web.client.RestTemplate;
 
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
 import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
@@ -97,12 +95,6 @@ public class OidcIdTokenDecoderFactoryTests {
 			.isThrownBy(() -> this.idTokenDecoderFactory.setClaimTypeConverterFactory(null));
 			.isThrownBy(() -> this.idTokenDecoderFactory.setClaimTypeConverterFactory(null));
 	}
 	}
 
 
-	@Test
-	public void setRestOperationsFactoryWhenNullThenThrowIllegalArgumentException() {
-		assertThatIllegalArgumentException()
-			.isThrownBy(() -> this.idTokenDecoderFactory.setRestOperationsFactory(null));
-	}
-
 	@Test
 	@Test
 	public void createDecoderWhenClientRegistrationNullThenThrowIllegalArgumentException() {
 	public void createDecoderWhenClientRegistrationNullThenThrowIllegalArgumentException() {
 		assertThatIllegalArgumentException().isThrownBy(() -> this.idTokenDecoderFactory.createDecoder(null));
 		assertThatIllegalArgumentException().isThrownBy(() -> this.idTokenDecoderFactory.createDecoder(null));
@@ -185,14 +177,4 @@ public class OidcIdTokenDecoderFactoryTests {
 		verify(customClaimTypeConverterFactory).apply(same(clientRegistration));
 		verify(customClaimTypeConverterFactory).apply(same(clientRegistration));
 	}
 	}
 
 
-	@Test
-	public void createDecoderWhenCustomRestOperationsFactorySetThenApplied() {
-		Function<ClientRegistration, RestOperations> customRestOperationsFactory = mock(Function.class);
-		this.idTokenDecoderFactory.setRestOperationsFactory(customRestOperationsFactory);
-		ClientRegistration clientRegistration = this.registration.build();
-		given(customRestOperationsFactory.apply(same(clientRegistration))).willReturn(new RestTemplate());
-		this.idTokenDecoderFactory.createDecoder(clientRegistration);
-		verify(customRestOperationsFactory).apply(same(clientRegistration));
-	}
-
 }
 }