mirror of
https://github.com/valitydev/openapi-generator.git
synced 2024-11-08 11:23:58 +00:00
parent
e39ec927a2
commit
2d59c5d190
@ -1,5 +1,7 @@
|
|||||||
package io.swagger.codegen;
|
package io.swagger.codegen;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public class CodegenSecurity {
|
public class CodegenSecurity {
|
||||||
public String name;
|
public String name;
|
||||||
public String type;
|
public String type;
|
||||||
@ -7,4 +9,7 @@ public class CodegenSecurity {
|
|||||||
// ApiKey specific
|
// ApiKey specific
|
||||||
public String keyParamName;
|
public String keyParamName;
|
||||||
public Boolean isKeyInQuery, isKeyInHeader;
|
public Boolean isKeyInQuery, isKeyInHeader;
|
||||||
|
// Oauth specific
|
||||||
|
public String flow, authorizationUrl, tokenUrl;
|
||||||
|
public Set<String> scopes;
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ import io.swagger.models.Swagger;
|
|||||||
import io.swagger.models.auth.ApiKeyAuthDefinition;
|
import io.swagger.models.auth.ApiKeyAuthDefinition;
|
||||||
import io.swagger.models.auth.BasicAuthDefinition;
|
import io.swagger.models.auth.BasicAuthDefinition;
|
||||||
import io.swagger.models.auth.In;
|
import io.swagger.models.auth.In;
|
||||||
|
import io.swagger.models.auth.OAuth2Definition;
|
||||||
import io.swagger.models.auth.SecuritySchemeDefinition;
|
import io.swagger.models.auth.SecuritySchemeDefinition;
|
||||||
import io.swagger.models.parameters.BodyParameter;
|
import io.swagger.models.parameters.BodyParameter;
|
||||||
import io.swagger.models.parameters.CookieParameter;
|
import io.swagger.models.parameters.CookieParameter;
|
||||||
@ -1056,10 +1057,17 @@ public class DefaultCodegen {
|
|||||||
sec.keyParamName = apiKeyDefinition.getName();
|
sec.keyParamName = apiKeyDefinition.getName();
|
||||||
sec.isKeyInHeader = apiKeyDefinition.getIn() == In.HEADER;
|
sec.isKeyInHeader = apiKeyDefinition.getIn() == In.HEADER;
|
||||||
sec.isKeyInQuery = !sec.isKeyInHeader;
|
sec.isKeyInQuery = !sec.isKeyInHeader;
|
||||||
|
} else if(schemeDefinition instanceof BasicAuthDefinition) {
|
||||||
|
sec.isKeyInHeader = sec.isKeyInQuery = sec.isApiKey = sec.isOAuth = false;
|
||||||
|
sec.isBasic = true;
|
||||||
} else {
|
} else {
|
||||||
sec.isKeyInHeader = sec.isKeyInQuery = sec.isApiKey = false;
|
final OAuth2Definition oauth2Definition = (OAuth2Definition) schemeDefinition;
|
||||||
sec.isBasic = schemeDefinition instanceof BasicAuthDefinition;
|
sec.isKeyInHeader = sec.isKeyInQuery = sec.isApiKey = sec.isBasic = false;
|
||||||
sec.isOAuth = !sec.isBasic;
|
sec.isOAuth = true;
|
||||||
|
sec.flow = oauth2Definition.getFlow();
|
||||||
|
sec.authorizationUrl = oauth2Definition.getAuthorizationUrl();
|
||||||
|
sec.tokenUrl = oauth2Definition.getTokenUrl();
|
||||||
|
sec.scopes = oauth2Definition.getScopes().keySet();
|
||||||
}
|
}
|
||||||
|
|
||||||
sec.hasMore = it.hasNext();
|
sec.hasMore = it.hasNext();
|
||||||
|
@ -9,6 +9,7 @@ import io.swagger.models.Model;
|
|||||||
import io.swagger.models.Operation;
|
import io.swagger.models.Operation;
|
||||||
import io.swagger.models.Path;
|
import io.swagger.models.Path;
|
||||||
import io.swagger.models.Swagger;
|
import io.swagger.models.Swagger;
|
||||||
|
import io.swagger.models.auth.OAuth2Definition;
|
||||||
import io.swagger.models.auth.SecuritySchemeDefinition;
|
import io.swagger.models.auth.SecuritySchemeDefinition;
|
||||||
import io.swagger.util.Json;
|
import io.swagger.util.Json;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
@ -366,7 +367,22 @@ public class DefaultGenerator extends AbstractGenerator implements Generator {
|
|||||||
String securityName = security.keySet().iterator().next();
|
String securityName = security.keySet().iterator().next();
|
||||||
SecuritySchemeDefinition securityDefinition = fromSecurity(securityName);
|
SecuritySchemeDefinition securityDefinition = fromSecurity(securityName);
|
||||||
if (securityDefinition != null) {
|
if (securityDefinition != null) {
|
||||||
authMethods.put(securityName, securityDefinition);
|
if(securityDefinition instanceof OAuth2Definition) {
|
||||||
|
OAuth2Definition oauth2Definition = (OAuth2Definition) securityDefinition;
|
||||||
|
OAuth2Definition oauth2Operation = new OAuth2Definition();
|
||||||
|
oauth2Operation.setType(oauth2Definition.getType());
|
||||||
|
oauth2Operation.setAuthorizationUrl(oauth2Definition.getAuthorizationUrl());
|
||||||
|
oauth2Operation.setFlow(oauth2Definition.getFlow());
|
||||||
|
oauth2Operation.setTokenUrl(oauth2Definition.getTokenUrl());
|
||||||
|
for (String scope : security.values().iterator().next()) {
|
||||||
|
if (oauth2Definition.getScopes().containsKey(scope)) {
|
||||||
|
oauth2Operation.addScope(scope, oauth2Definition.getScopes().get(scope));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
authMethods.put(securityName, oauth2Operation);
|
||||||
|
} else {
|
||||||
|
authMethods.put(securityName, securityDefinition);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!authMethods.isEmpty()) {
|
if (!authMethods.isEmpty()) {
|
||||||
|
Loading…
Reference in New Issue
Block a user