forked from loafle/openapi-generator-original
Fix configuration handling with Feign (#17860)
* Fix configuration handling with Feign * Fix test * Fix compile error * Fix compile error
This commit is contained in:
parent
82bb813aeb
commit
7d76d0af61
@ -68,6 +68,7 @@ import org.openapitools.codegen.model.OperationsMap;
|
||||
import org.openapitools.codegen.templating.mustache.SplitStringLambda;
|
||||
import org.openapitools.codegen.templating.mustache.SpringHttpStatusLambda;
|
||||
import org.openapitools.codegen.templating.mustache.TrimWhitespaceLambda;
|
||||
import org.openapitools.codegen.utils.ProcessUtils;
|
||||
import org.openapitools.codegen.utils.URLPathUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -594,16 +595,16 @@ public class SpringCodegen extends AbstractJavaCodegen
|
||||
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator),
|
||||
"ApiKeyRequestInterceptor.java"));
|
||||
|
||||
supportingFiles.add(new SupportingFile("oauth2ClientProperties.mustache",
|
||||
resourceFolder, "oauth2-client.properties"));
|
||||
|
||||
supportingFiles.add(new SupportingFile("clientPropertiesConfiguration.mustache",
|
||||
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator),
|
||||
"ClientPropertiesConfiguration.java"));
|
||||
if (ProcessUtils.hasOAuthMethods(openAPI)) {
|
||||
supportingFiles.add(new SupportingFile("clientPropertiesConfiguration.mustache",
|
||||
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator),
|
||||
"ClientPropertiesConfiguration.java"));
|
||||
}
|
||||
|
||||
supportingFiles.add(new SupportingFile("clientConfiguration.mustache",
|
||||
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator),
|
||||
"ClientConfiguration.java"));
|
||||
|
||||
apiTemplateFiles.put("apiClient.mustache", "Client.java");
|
||||
if (!additionalProperties.containsKey(SINGLE_CONTENT_TYPES)) {
|
||||
additionalProperties.put(SINGLE_CONTENT_TYPES, "true");
|
||||
|
@ -35,7 +35,6 @@ import feign.RequestTemplate;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
|
||||
@Configuration
|
||||
public class ClientConfiguration {
|
||||
|
||||
{{#authMethods}}
|
||||
|
@ -2,17 +2,40 @@ package {{configPackage}};
|
||||
|
||||
{{#authMethods}}
|
||||
{{#isOAuth}}
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
{{/isOAuth}}
|
||||
{{/authMethods}}
|
||||
import java.util.Properties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
import org.springframework.core.env.PropertiesPropertySource;
|
||||
|
||||
{{#hasAuthMethods}}
|
||||
{{#hasOAuthMethods}}
|
||||
@PropertySource( "classpath:/oauth2-client.properties" )
|
||||
{{/hasOAuthMethods}}
|
||||
{{/hasAuthMethods}}
|
||||
@Configuration
|
||||
@Configuration(value = "{{configPackage}}.clientPropertiesConfiguration")
|
||||
public class ClientPropertiesConfiguration {
|
||||
|
||||
public ClientPropertiesConfiguration( final ConfigurableEnvironment configurableEnvironment ) {
|
||||
final Properties properties = new Properties();
|
||||
properties.put("spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.client-id", "set-{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}-client-id" );
|
||||
properties.put("{{#scopes}}{{#-first}}spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.scope", "{{/-first}}{{scope}}{{^-last}},{{/-last}}{{/scopes}}" );
|
||||
{{#isCode}}
|
||||
properties.put("spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-grant-type", "authorization_code" );
|
||||
properties.put("spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.redirect-uri", "set-{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}-redirect-uri" );
|
||||
properties.put("spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.token-uri", {{{tokenUrl}}}" );
|
||||
properties.put("spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-uri", "{{{authorizationUrl}}}" );
|
||||
{{/isCode}}
|
||||
{{#isPassword}}
|
||||
properties.put("spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-grant-type", "password" );
|
||||
properties.put("spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.token-uri", "{{{tokenUrl}}}" );
|
||||
{{/isPassword}}
|
||||
{{#isApplication}}
|
||||
properties.put("spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-grant-type", "client_credentials" );
|
||||
properties.put("spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.token-uri", "{{{tokenUrl}}}" );
|
||||
{{/isApplication}}
|
||||
{{#isImplicit}}
|
||||
properties.put("spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-grant-type", "implicit" );
|
||||
properties.put("spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-uri", "{{{authorizationUrl}}}" );
|
||||
{{/isImplicit}}
|
||||
final PropertiesPropertySource propertiesPropertySource = new PropertiesPropertySource("{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}", properties );
|
||||
configurableEnvironment.getPropertySources().addLast( propertiesPropertySource );
|
||||
}
|
||||
|
||||
}
|
||||
{{/isOAuth}}
|
||||
{{/authMethods}}
|
@ -1,25 +0,0 @@
|
||||
{{#authMethods}}
|
||||
{{#isOAuth}}
|
||||
spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.enabled=false
|
||||
spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.client-id=set-{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}-client-id
|
||||
{{#scopes}}{{#-first}}spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.scope={{/-first}}{{scope}}{{^-last}},{{/-last}}{{/scopes}}
|
||||
{{#isCode}}
|
||||
spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-grant-type=authorization_code
|
||||
spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.redirect-uri=set-{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}-redirect-uri
|
||||
spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.token-uri={{{tokenUrl}}}
|
||||
spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-uri={{{authorizationUrl}}}
|
||||
{{/isCode}}
|
||||
{{#isPassword}}
|
||||
spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-grant-type=password
|
||||
spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.token-uri={{{tokenUrl}}}
|
||||
{{/isPassword}}
|
||||
{{#isApplication}}
|
||||
spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-grant-type=client_credentials
|
||||
spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.token-uri={{{tokenUrl}}}
|
||||
{{/isApplication}}
|
||||
{{#isImplicit}}
|
||||
spring.security.oauth2.client.registration.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-grant-type=implicit
|
||||
spring.security.oauth2.client.provider.{{{name}}}{{#lambda.pascalcase}}{{{flow}}}{{/lambda.pascalcase}}.authorization-uri={{{authorizationUrl}}}
|
||||
{{/isImplicit}}
|
||||
{{/isOAuth}}
|
||||
{{/authMethods}}
|
@ -15,4 +15,3 @@ src/main/java/org/openapitools/model/Order.java
|
||||
src/main/java/org/openapitools/model/Pet.java
|
||||
src/main/java/org/openapitools/model/Tag.java
|
||||
src/main/java/org/openapitools/model/User.java
|
||||
src/main/resources/oauth2-client.properties
|
||||
|
@ -21,7 +21,6 @@ import feign.RequestTemplate;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
|
||||
@Configuration
|
||||
public class ClientConfiguration {
|
||||
|
||||
private static final String CLIENT_PRINCIPAL_IMPLICIT = "oauth2FeignClient";
|
||||
|
@ -1,10 +1,21 @@
|
||||
package org.openapitools.configuration;
|
||||
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import java.util.Properties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
import org.springframework.core.env.PropertiesPropertySource;
|
||||
|
||||
@PropertySource( "classpath:/oauth2-client.properties" )
|
||||
@Configuration
|
||||
@Configuration(value = "org.openapitools.configuration.clientPropertiesConfiguration")
|
||||
public class ClientPropertiesConfiguration {
|
||||
|
||||
public ClientPropertiesConfiguration( final ConfigurableEnvironment configurableEnvironment ) {
|
||||
final Properties properties = new Properties();
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.client-id", "set-petstoreAuthImplicit-client-id" );
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.scope", "write:pets,read:pets" );
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.authorization-grant-type", "implicit" );
|
||||
properties.put("spring.security.oauth2.client.provider.petstoreAuthImplicit.authorization-uri", "http://petstore.swagger.io/api/oauth/dialog" );
|
||||
final PropertiesPropertySource propertiesPropertySource = new PropertiesPropertySource("petstoreAuthImplicit", properties );
|
||||
configurableEnvironment.getPropertySources().addLast( propertiesPropertySource );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,4 +15,3 @@ src/main/java/org/openapitools/model/Order.java
|
||||
src/main/java/org/openapitools/model/Pet.java
|
||||
src/main/java/org/openapitools/model/Tag.java
|
||||
src/main/java/org/openapitools/model/User.java
|
||||
src/main/resources/oauth2-client.properties
|
||||
|
@ -21,7 +21,6 @@ import feign.RequestTemplate;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
|
||||
@Configuration
|
||||
public class ClientConfiguration {
|
||||
|
||||
private static final String CLIENT_PRINCIPAL_IMPLICIT = "oauth2FeignClient";
|
||||
|
@ -1,10 +1,21 @@
|
||||
package org.openapitools.configuration;
|
||||
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import java.util.Properties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
import org.springframework.core.env.PropertiesPropertySource;
|
||||
|
||||
@PropertySource( "classpath:/oauth2-client.properties" )
|
||||
@Configuration
|
||||
@Configuration(value = "org.openapitools.configuration.clientPropertiesConfiguration")
|
||||
public class ClientPropertiesConfiguration {
|
||||
|
||||
public ClientPropertiesConfiguration( final ConfigurableEnvironment configurableEnvironment ) {
|
||||
final Properties properties = new Properties();
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.client-id", "set-petstoreAuthImplicit-client-id" );
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.scope", "write:pets,read:pets" );
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.authorization-grant-type", "implicit" );
|
||||
properties.put("spring.security.oauth2.client.provider.petstoreAuthImplicit.authorization-uri", "http://petstore.swagger.io/api/oauth/dialog" );
|
||||
final PropertiesPropertySource propertiesPropertySource = new PropertiesPropertySource("petstoreAuthImplicit", properties );
|
||||
configurableEnvironment.getPropertySources().addLast( propertiesPropertySource );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,4 +15,3 @@ src/main/java/org/openapitools/model/Order.java
|
||||
src/main/java/org/openapitools/model/Pet.java
|
||||
src/main/java/org/openapitools/model/Tag.java
|
||||
src/main/java/org/openapitools/model/User.java
|
||||
src/main/resources/oauth2-client.properties
|
||||
|
@ -21,7 +21,6 @@ import feign.RequestTemplate;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
|
||||
@Configuration
|
||||
public class ClientConfiguration {
|
||||
|
||||
private static final String CLIENT_PRINCIPAL_IMPLICIT = "oauth2FeignClient";
|
||||
|
@ -1,10 +1,21 @@
|
||||
package org.openapitools.configuration;
|
||||
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import java.util.Properties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
import org.springframework.core.env.PropertiesPropertySource;
|
||||
|
||||
@PropertySource( "classpath:/oauth2-client.properties" )
|
||||
@Configuration
|
||||
@Configuration(value = "org.openapitools.configuration.clientPropertiesConfiguration")
|
||||
public class ClientPropertiesConfiguration {
|
||||
|
||||
public ClientPropertiesConfiguration( final ConfigurableEnvironment configurableEnvironment ) {
|
||||
final Properties properties = new Properties();
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.client-id", "set-petstoreAuthImplicit-client-id" );
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.scope", "write:pets,read:pets" );
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.authorization-grant-type", "implicit" );
|
||||
properties.put("spring.security.oauth2.client.provider.petstoreAuthImplicit.authorization-uri", "http://petstore.swagger.io/api/oauth/dialog" );
|
||||
final PropertiesPropertySource propertiesPropertySource = new PropertiesPropertySource("petstoreAuthImplicit", properties );
|
||||
configurableEnvironment.getPropertySources().addLast( propertiesPropertySource );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,4 +15,3 @@ src/main/java/org/openapitools/model/Order.java
|
||||
src/main/java/org/openapitools/model/Pet.java
|
||||
src/main/java/org/openapitools/model/Tag.java
|
||||
src/main/java/org/openapitools/model/User.java
|
||||
src/main/resources/oauth2-client.properties
|
||||
|
@ -21,7 +21,6 @@ import feign.RequestTemplate;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
|
||||
@Configuration
|
||||
public class ClientConfiguration {
|
||||
|
||||
private static final String CLIENT_PRINCIPAL_IMPLICIT = "oauth2FeignClient";
|
||||
|
@ -1,10 +1,21 @@
|
||||
package org.openapitools.configuration;
|
||||
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import java.util.Properties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
import org.springframework.core.env.PropertiesPropertySource;
|
||||
|
||||
@PropertySource( "classpath:/oauth2-client.properties" )
|
||||
@Configuration
|
||||
@Configuration(value = "org.openapitools.configuration.clientPropertiesConfiguration")
|
||||
public class ClientPropertiesConfiguration {
|
||||
|
||||
public ClientPropertiesConfiguration( final ConfigurableEnvironment configurableEnvironment ) {
|
||||
final Properties properties = new Properties();
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.client-id", "set-petstoreAuthImplicit-client-id" );
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.scope", "write:pets,read:pets" );
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.authorization-grant-type", "implicit" );
|
||||
properties.put("spring.security.oauth2.client.provider.petstoreAuthImplicit.authorization-uri", "http://petstore.swagger.io/api/oauth/dialog" );
|
||||
final PropertiesPropertySource propertiesPropertySource = new PropertiesPropertySource("petstoreAuthImplicit", properties );
|
||||
configurableEnvironment.getPropertySources().addLast( propertiesPropertySource );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,4 +15,3 @@ src/main/java/org/openapitools/model/Order.java
|
||||
src/main/java/org/openapitools/model/Pet.java
|
||||
src/main/java/org/openapitools/model/Tag.java
|
||||
src/main/java/org/openapitools/model/User.java
|
||||
src/main/resources/oauth2-client.properties
|
||||
|
@ -21,7 +21,6 @@ import feign.RequestTemplate;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
|
||||
@Configuration
|
||||
public class ClientConfiguration {
|
||||
|
||||
private static final String CLIENT_PRINCIPAL_IMPLICIT = "oauth2FeignClient";
|
||||
|
@ -1,10 +1,21 @@
|
||||
package org.openapitools.configuration;
|
||||
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import java.util.Properties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
import org.springframework.core.env.PropertiesPropertySource;
|
||||
|
||||
@PropertySource( "classpath:/oauth2-client.properties" )
|
||||
@Configuration
|
||||
@Configuration(value = "org.openapitools.configuration.clientPropertiesConfiguration")
|
||||
public class ClientPropertiesConfiguration {
|
||||
|
||||
public ClientPropertiesConfiguration( final ConfigurableEnvironment configurableEnvironment ) {
|
||||
final Properties properties = new Properties();
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.client-id", "set-petstoreAuthImplicit-client-id" );
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.scope", "write:pets,read:pets" );
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.authorization-grant-type", "implicit" );
|
||||
properties.put("spring.security.oauth2.client.provider.petstoreAuthImplicit.authorization-uri", "http://petstore.swagger.io/api/oauth/dialog" );
|
||||
final PropertiesPropertySource propertiesPropertySource = new PropertiesPropertySource("petstoreAuthImplicit", properties );
|
||||
configurableEnvironment.getPropertySources().addLast( propertiesPropertySource );
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,4 +15,3 @@ src/main/java/org/openapitools/model/Order.java
|
||||
src/main/java/org/openapitools/model/Pet.java
|
||||
src/main/java/org/openapitools/model/Tag.java
|
||||
src/main/java/org/openapitools/model/User.java
|
||||
src/main/resources/oauth2-client.properties
|
||||
|
@ -21,7 +21,6 @@ import feign.RequestTemplate;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
|
||||
@Configuration
|
||||
public class ClientConfiguration {
|
||||
|
||||
private static final String CLIENT_PRINCIPAL_IMPLICIT = "oauth2FeignClient";
|
||||
|
@ -1,10 +1,21 @@
|
||||
package org.openapitools.configuration;
|
||||
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import java.util.Properties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
import org.springframework.core.env.PropertiesPropertySource;
|
||||
|
||||
@PropertySource( "classpath:/oauth2-client.properties" )
|
||||
@Configuration
|
||||
@Configuration(value = "org.openapitools.configuration.clientPropertiesConfiguration")
|
||||
public class ClientPropertiesConfiguration {
|
||||
|
||||
public ClientPropertiesConfiguration( final ConfigurableEnvironment configurableEnvironment ) {
|
||||
final Properties properties = new Properties();
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.client-id", "set-petstoreAuthImplicit-client-id" );
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.scope", "write:pets,read:pets" );
|
||||
properties.put("spring.security.oauth2.client.registration.petstoreAuthImplicit.authorization-grant-type", "implicit" );
|
||||
properties.put("spring.security.oauth2.client.provider.petstoreAuthImplicit.authorization-uri", "http://petstore.swagger.io/api/oauth/dialog" );
|
||||
final PropertiesPropertySource propertiesPropertySource = new PropertiesPropertySource("petstoreAuthImplicit", properties );
|
||||
configurableEnvironment.getPropertySources().addLast( propertiesPropertySource );
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user