diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenSecurity.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenSecurity.java index dcde605e73b988c4ec4986c155f482e5ac84946a..d028ebf37751e52bbda777f223a584a11d32dc76 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenSecurity.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenSecurity.java @@ -30,7 +30,7 @@ public class CodegenSecurity { public Map<String, Object> vendorExtensions = new HashMap<String, Object>(); // ApiKey specific public String keyParamName; - public Boolean isKeyInQuery, isKeyInHeader; + public Boolean isKeyInQuery, isKeyInHeader, isKeyInCookie; // Oauth specific public String flow, authorizationUrl, tokenUrl; public List<Map<String, Object>> scopes; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 7f09e70dc65958dea1fdfaf420eea8e87e62c4f3..8d2e4643b75b5844f05048a0c10abf58c68e0d37 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -2801,12 +2801,13 @@ public class DefaultCodegen implements CodegenConfig { cs.isApiKey = true; cs.keyParamName = securityScheme.getName(); cs.isKeyInHeader = securityScheme.getIn() == SecurityScheme.In.HEADER; - cs.isKeyInQuery = !cs.isKeyInHeader; + cs.isKeyInQuery = securityScheme.getIn() == SecurityScheme.In.QUERY; + cs.isKeyInCookie = securityScheme.getIn() == SecurityScheme.In.COOKIE; //it assumes a validation step prior to generation. (cookie-auth supported from OpenAPI 3.0.0) } else if (SecurityScheme.Type.HTTP.equals(securityScheme.getType())) { - cs.isKeyInHeader = cs.isKeyInQuery = cs.isApiKey = cs.isOAuth = false; + cs.isKeyInHeader = cs.isKeyInQuery = cs.isKeyInCookie = cs.isApiKey = cs.isOAuth = false; cs.isBasic = true; } else if (SecurityScheme.Type.OAUTH2.equals(securityScheme.getType())) { - cs.isKeyInHeader = cs.isKeyInQuery = cs.isApiKey = cs.isBasic = false; + cs.isKeyInHeader = cs.isKeyInQuery = cs.isKeyInCookie = cs.isApiKey = cs.isBasic = false; cs.isOAuth = true; final OAuthFlows flows = securityScheme.getFlows(); if (securityScheme.getFlows() == null) {