From 9b4ddd7e0a7a91cdabf799b33b47ef4ccbae37f2 Mon Sep 17 00:00:00 2001 From: Rujun Chen Date: Fri, 6 Aug 2021 16:58:06 +0800 Subject: [PATCH] Make AuthorizationGrantTypeConverter support custom grant type Closes gh-10155 --- .../security/oauth2/client/jackson2/StdConverters.java | 4 ++-- .../client/jackson2/OAuth2AuthorizedClientMixinTests.java | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/jackson2/StdConverters.java b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/jackson2/StdConverters.java index ea452cb316..dd13c155ca 100644 --- a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/jackson2/StdConverters.java +++ b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/jackson2/StdConverters.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2020 the original author or authors. + * Copyright 2002-2021 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. @@ -83,7 +83,7 @@ abstract class StdConverters { if (AuthorizationGrantType.PASSWORD.getValue().equalsIgnoreCase(value)) { return AuthorizationGrantType.PASSWORD; } - return null; + return new AuthorizationGrantType(value); } } diff --git a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/jackson2/OAuth2AuthorizedClientMixinTests.java b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/jackson2/OAuth2AuthorizedClientMixinTests.java index 2728942de7..45d1ba4d12 100644 --- a/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/jackson2/OAuth2AuthorizedClientMixinTests.java +++ b/oauth2/oauth2-client/src/test/java/org/springframework/security/oauth2/client/jackson2/OAuth2AuthorizedClientMixinTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2020 the original author or authors. + * Copyright 2002-2021 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. @@ -32,6 +32,7 @@ import org.springframework.security.jackson2.SecurityJackson2Modules; import org.springframework.security.oauth2.client.OAuth2AuthorizedClient; import org.springframework.security.oauth2.client.registration.ClientRegistration; import org.springframework.security.oauth2.client.registration.TestClientRegistrations; +import org.springframework.security.oauth2.core.AuthorizationGrantType; import org.springframework.security.oauth2.core.OAuth2AccessToken; import org.springframework.security.oauth2.core.OAuth2RefreshToken; import org.springframework.security.oauth2.core.TestOAuth2AccessTokens; @@ -69,6 +70,7 @@ public class OAuth2AuthorizedClientMixinTests { providerConfigurationMetadata.put("config2", "value2"); // @formatter:off this.clientRegistrationBuilder = TestClientRegistrations.clientRegistration() + .authorizationGrantType(new AuthorizationGrantType("custom-grant")) .scope("read", "write") .providerConfigurationMetadata(providerConfigurationMetadata); // @formatter:on