From 3ced8412b5155c3b12460bbb8c31cf6bb844cabf Mon Sep 17 00:00:00 2001 From: Madhura Bhave Date: Thu, 5 Oct 2017 17:58:57 -0700 Subject: [PATCH] Replace AuthorizationGrantType & ClientAuthenticationMethod Closes gh-10506 --- .../oauth2/client/AuthorizationGrantType.java | 45 ----------------- .../client/ClientAuthenticationMethod.java | 50 ------------------- .../oauth2/client/OAuth2ClientProperties.java | 12 ++--- ...h2ClientPropertiesRegistrationAdapter.java | 7 +-- .../client/AuthorizationGrantTypeTests.java | 36 ------------- .../ClientAuthenticationMethodTests.java | 38 -------------- ...entPropertiesRegistrationAdapterTests.java | 8 +-- 7 files changed, 14 insertions(+), 182 deletions(-) delete mode 100644 spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/AuthorizationGrantType.java delete mode 100644 spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/ClientAuthenticationMethod.java delete mode 100644 spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/AuthorizationGrantTypeTests.java delete mode 100644 spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/ClientAuthenticationMethodTests.java diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/AuthorizationGrantType.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/AuthorizationGrantType.java deleted file mode 100644 index d4c3c20158..0000000000 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/AuthorizationGrantType.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2012-2017 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 - * - * http://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.boot.autoconfigure.security.oauth2.client; - -/** - * OAuth 2.0 authorization grant types supported by Spring Boot. - * - * @author Madhura Bhave - * @author Phillip Webb - * @since 2.0.0 - */ -public enum AuthorizationGrantType { - - /** - * An {@code "authorization_code"} grant type. - */ - AUTHORIZATION_CODE( - org.springframework.security.oauth2.core.AuthorizationGrantType.AUTHORIZATION_CODE); - - private final org.springframework.security.oauth2.core.AuthorizationGrantType type; - - AuthorizationGrantType( - org.springframework.security.oauth2.core.AuthorizationGrantType type) { - this.type = type; - } - - org.springframework.security.oauth2.core.AuthorizationGrantType getType() { - return this.type; - } - -} diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/ClientAuthenticationMethod.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/ClientAuthenticationMethod.java deleted file mode 100644 index fb33b4881c..0000000000 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/ClientAuthenticationMethod.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2012-2017 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 - * - * http://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.boot.autoconfigure.security.oauth2.client; - -/** - * OAuth 2.0 client authentication methods supported by Spring Boot. - * - * @author Madhura Bhave - * @author Phillip Webb - * @since 2.0.0 - * @see org.springframework.security.oauth2.core.ClientAuthenticationMethod - */ -public enum ClientAuthenticationMethod { - - /** - * HTTP BASIC client authentication. - */ - BASIC(org.springframework.security.oauth2.core.ClientAuthenticationMethod.BASIC), - - /** - * HTTP POST client authentication. - */ - POST(org.springframework.security.oauth2.core.ClientAuthenticationMethod.POST); - - private final org.springframework.security.oauth2.core.ClientAuthenticationMethod method; - - ClientAuthenticationMethod( - org.springframework.security.oauth2.core.ClientAuthenticationMethod method) { - this.method = method; - } - - org.springframework.security.oauth2.core.ClientAuthenticationMethod getMethod() { - return this.method; - } - -} diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientProperties.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientProperties.java index 00f6eacc61..4f8a22282c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientProperties.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientProperties.java @@ -95,12 +95,12 @@ public class OAuth2ClientProperties { * Client authentication method. May be left bank then using a pre-defined * provider. */ - private ClientAuthenticationMethod clientAuthenticationMethod; + private String clientAuthenticationMethod; /** * Authorization grant type. May be left bank then using a pre-defined provider. */ - private AuthorizationGrantType authorizationGrantType; + private String authorizationGrantType; /** * Redirect URI. May be left bank then using a pre-defined provider. @@ -141,21 +141,21 @@ public class OAuth2ClientProperties { this.clientSecret = clientSecret; } - public ClientAuthenticationMethod getClientAuthenticationMethod() { + public String getClientAuthenticationMethod() { return this.clientAuthenticationMethod; } public void setClientAuthenticationMethod( - ClientAuthenticationMethod clientAuthenticationMethod) { + String clientAuthenticationMethod) { this.clientAuthenticationMethod = clientAuthenticationMethod; } - public AuthorizationGrantType getAuthorizationGrantType() { + public String getAuthorizationGrantType() { return this.authorizationGrantType; } public void setAuthorizationGrantType( - AuthorizationGrantType authorizationGrantType) { + String authorizationGrantType) { this.authorizationGrantType = authorizationGrantType; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapter.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapter.java index d84716220d..a99ec5c046 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapter.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapter.java @@ -28,6 +28,8 @@ import org.springframework.boot.context.properties.bind.convert.BinderConversion import org.springframework.core.convert.ConversionException; import org.springframework.security.oauth2.client.registration.ClientRegistration; import org.springframework.security.oauth2.client.registration.ClientRegistration.Builder; +import org.springframework.security.oauth2.core.AuthorizationGrantType; +import org.springframework.security.oauth2.core.ClientAuthenticationMethod; /** * Adapter class to convert {@link OAuth2ClientProperties} to a @@ -57,10 +59,9 @@ final class OAuth2ClientPropertiesRegistrationAdapter { copyIfNotNull(properties::getClientId, builder::clientId); copyIfNotNull(properties::getClientSecret, builder::clientSecret); copyIfNotNull(properties::getClientAuthenticationMethod, - builder::clientAuthenticationMethod, - ClientAuthenticationMethod::getMethod); + builder::clientAuthenticationMethod, ClientAuthenticationMethod::new); copyIfNotNull(properties::getAuthorizationGrantType, - builder::authorizationGrantType, AuthorizationGrantType::getType); + builder::authorizationGrantType, AuthorizationGrantType::new); copyIfNotNull(properties::getRedirectUri, builder::redirectUri); copyIfNotNull(properties::getScope, builder::scope, (scope) -> scope.toArray(new String[scope.size()])); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/AuthorizationGrantTypeTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/AuthorizationGrantTypeTests.java deleted file mode 100644 index 7788d24005..0000000000 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/AuthorizationGrantTypeTests.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2012-2017 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 - * - * http://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.boot.autoconfigure.security.oauth2.client; - -import org.junit.Test; - -import static org.assertj.core.api.Assertions.assertThat; - -/** - * Tests for {@link AuthorizationGrantType}. - * - * @author Phillip Webb - */ -public class AuthorizationGrantTypeTests { - - @Test - public void getTypeShouldGetSpringSecurityVariant() throws Exception { - assertThat(AuthorizationGrantType.AUTHORIZATION_CODE.getType()).isEqualTo( - org.springframework.security.oauth2.core.AuthorizationGrantType.AUTHORIZATION_CODE); - } - -} diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/ClientAuthenticationMethodTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/ClientAuthenticationMethodTests.java deleted file mode 100644 index 3e8a62db27..0000000000 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/ClientAuthenticationMethodTests.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2012-2017 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 - * - * http://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.boot.autoconfigure.security.oauth2.client; - -import org.junit.Test; - -import static org.assertj.core.api.Assertions.assertThat; - -/** - * Tests for {@link ClientAuthenticationMethod}. - * - * @author Phillip Webb - */ -public class ClientAuthenticationMethodTests { - - @Test - public void getMethodShouldGetSpringSecurityVariant() throws Exception { - assertThat(ClientAuthenticationMethod.BASIC.getMethod()).isEqualTo( - org.springframework.security.oauth2.core.ClientAuthenticationMethod.BASIC); - assertThat(ClientAuthenticationMethod.POST.getMethod()).isEqualTo( - org.springframework.security.oauth2.core.ClientAuthenticationMethod.POST); - } - -} diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapterTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapterTests.java index 8a4c1cc6ce..3269747f77 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapterTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapterTests.java @@ -53,8 +53,8 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests { registration.setProvider("provider"); registration.setClientId("clientId"); registration.setClientSecret("clientSecret"); - registration.setClientAuthenticationMethod(ClientAuthenticationMethod.POST); - registration.setAuthorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE); + registration.setClientAuthenticationMethod("post"); + registration.setAuthorizationGrantType("authorization_code"); registration.setRedirectUri("http://example.com/redirect"); registration.setScope(Collections.singleton("scope")); registration.setClientName("clientName"); @@ -125,8 +125,8 @@ public class OAuth2ClientPropertiesRegistrationAdapterTests { registration.setProvider("google"); registration.setClientId("clientId"); registration.setClientSecret("clientSecret"); - registration.setClientAuthenticationMethod(ClientAuthenticationMethod.POST); - registration.setAuthorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE); + registration.setClientAuthenticationMethod("post"); + registration.setAuthorizationGrantType("authorization_code"); registration.setRedirectUri("http://example.com/redirect"); registration.setScope(Collections.singleton("scope")); registration.setClientName("clientName");