From e33c500ef7a4b0ca2d19efe298f79ff588dd5368 Mon Sep 17 00:00:00 2001 From: Matteo Mazza Date: Thu, 7 Jun 2018 02:31:59 +0200 Subject: [PATCH] feat(security): add cookie-auth support --- .../java/org/openapitools/codegen/CodegenSecurity.java | 2 +- .../main/java/org/openapitools/codegen/DefaultCodegen.java | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) 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 dcde605e73b9..d028ebf37751 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 vendorExtensions = new HashMap(); // ApiKey specific public String keyParamName; - public Boolean isKeyInQuery, isKeyInHeader; + public Boolean isKeyInQuery, isKeyInHeader, isKeyInCookie; // Oauth specific public String flow, authorizationUrl, tokenUrl; public List> 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 7f09e70dc659..8d2e4643b75b 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 List fromSecurity(Map securitySc 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) {