diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/clientConfiguration.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/clientConfiguration.mustache
index c1feeb51599085c60106499957a004cbe4c12c01..3d0ccc7d2c51d12cc557318fc8cb73d9821b31e9 100644
--- a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/clientConfiguration.mustache
+++ b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/clientConfiguration.mustache
@@ -23,6 +23,7 @@ import org.springframework.context.annotation.Configuration;
 {{#isOAuth}}
 import org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor;
 import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext;
+import org.springframework.security.oauth2.client.OAuth2ClientContext;
 {{#isApplication}}
 import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails;
 {{/isApplication}}
@@ -71,8 +72,14 @@ public class ClientConfiguration {
     {{#isOAuth}}
   @Bean
   @ConditionalOnProperty("{{#lambda.lowercase}}{{{title}}}{{/lambda.lowercase}}.security.{{{name}}}.client-id")
-  public OAuth2FeignRequestInterceptor {{{name}}}RequestInterceptor() {
-    return new OAuth2FeignRequestInterceptor(new DefaultOAuth2ClientContext(), {{{name}}}ResourceDetails());
+  public OAuth2FeignRequestInterceptor {{{name}}}RequestInterceptor(OAuth2ClientContext oAuth2ClientContext) {
+    return new OAuth2FeignRequestInterceptor(oAuth2ClientContext, {{{name}}}ResourceDetails());
+  }
+
+  @Bean
+  @ConditionalOnProperty("{{#lambda.lowercase}}{{{title}}}{{/lambda.lowercase}}.security.{{{name}}}.client-id")
+  public OAuth2ClientContext oAuth2ClientContext() {
+    return new DefaultOAuth2ClientContext();
   }
 
         {{#isCode}}
diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ClientConfiguration.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ClientConfiguration.java
index ae8ce0ea3f6b780c66609c9a577265e76d478206..8f503c9cf226c99a498c7d2cd1c831cb3a8fb656 100644
--- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ClientConfiguration.java
+++ b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ClientConfiguration.java
@@ -8,6 +8,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor;
 import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext;
+import org.springframework.security.oauth2.client.OAuth2ClientContext;
 import org.springframework.security.oauth2.client.token.grant.implicit.ImplicitResourceDetails;
 
 @Configuration
@@ -25,8 +26,14 @@ public class ClientConfiguration {
 
   @Bean
   @ConditionalOnProperty("openapipetstore.security.petstoreAuth.client-id")
-  public OAuth2FeignRequestInterceptor petstoreAuthRequestInterceptor() {
-    return new OAuth2FeignRequestInterceptor(new DefaultOAuth2ClientContext(), petstoreAuthResourceDetails());
+  public OAuth2FeignRequestInterceptor petstoreAuthRequestInterceptor(OAuth2ClientContext oAuth2ClientContext) {
+    return new OAuth2FeignRequestInterceptor(oAuth2ClientContext, petstoreAuthResourceDetails());
+  }
+
+  @Bean
+  @ConditionalOnProperty("openapipetstore.security.petstoreAuth.client-id")
+  public OAuth2ClientContext oAuth2ClientContext() {
+    return new DefaultOAuth2ClientContext();
   }
 
   @Bean
diff --git a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/configuration/ClientConfiguration.java b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/configuration/ClientConfiguration.java
index ae8ce0ea3f6b780c66609c9a577265e76d478206..8f503c9cf226c99a498c7d2cd1c831cb3a8fb656 100644
--- a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/configuration/ClientConfiguration.java
+++ b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/configuration/ClientConfiguration.java
@@ -8,6 +8,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor;
 import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext;
+import org.springframework.security.oauth2.client.OAuth2ClientContext;
 import org.springframework.security.oauth2.client.token.grant.implicit.ImplicitResourceDetails;
 
 @Configuration
@@ -25,8 +26,14 @@ public class ClientConfiguration {
 
   @Bean
   @ConditionalOnProperty("openapipetstore.security.petstoreAuth.client-id")
-  public OAuth2FeignRequestInterceptor petstoreAuthRequestInterceptor() {
-    return new OAuth2FeignRequestInterceptor(new DefaultOAuth2ClientContext(), petstoreAuthResourceDetails());
+  public OAuth2FeignRequestInterceptor petstoreAuthRequestInterceptor(OAuth2ClientContext oAuth2ClientContext) {
+    return new OAuth2FeignRequestInterceptor(oAuth2ClientContext, petstoreAuthResourceDetails());
+  }
+
+  @Bean
+  @ConditionalOnProperty("openapipetstore.security.petstoreAuth.client-id")
+  public OAuth2ClientContext oAuth2ClientContext() {
+    return new DefaultOAuth2ClientContext();
   }
 
   @Bean