@Override public void apply(Swagger swagger) { ApiKeyAuthDefinition authorization = new ApiKeyAuthDefinition("Authorization", In.HEADER); authorization.setVendorExtension("x-amazon-apigateway-authtype", authType); swagger.securityDefinition(SECURITY_SCHEME_NAME, authorization); for (Path path : swagger.getPaths().values()) { for (Operation operation : path.getOperations()) { operation.addSecurity(SECURITY_SCHEME_NAME, Collections.emptyList()); } } } }
private MarkupDocBuilder buildSecurityScheme(MarkupDocBuilder markupDocBuilder, SecuritySchemeDefinition securityScheme) { String type = securityScheme.getType(); MarkupDocBuilder paragraphBuilder = copyMarkupDocBuilder(markupDocBuilder); paragraphBuilder.italicText(labels.getLabel(NAME)).textLine(COLON + ((ApiKeyAuthDefinition) securityScheme).getName()); paragraphBuilder.italicText(labels.getLabel(IN)).textLine(COLON + ((ApiKeyAuthDefinition) securityScheme).getIn()); String flow = oauth2Scheme.getFlow(); paragraphBuilder.italicText(labels.getLabel(FLOW)).textLine(COLON + flow); if (isNotBlank(oauth2Scheme.getAuthorizationUrl())) { paragraphBuilder.italicText(labels.getLabel(AUTHORIZATION_URL)).textLine(COLON + oauth2Scheme.getAuthorizationUrl()); if (isNotBlank(oauth2Scheme.getTokenUrl())) { paragraphBuilder.italicText(labels.getLabel(TOKEN_URL)).textLine(COLON + oauth2Scheme.getTokenUrl()); if (oauth2Scheme.getScopes() != null && !oauth2Scheme.getScopes().isEmpty()) { StringColumn.Builder nameColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(NAME_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "3") .putMetaData(TableComponent.HEADER_COLUMN, "true"); for (Map.Entry<String, String> scope : oauth2Scheme.getScopes().entrySet()) { nameColumnBuilder.add(scope.getKey()); descriptionColumnBuilder.add(scope.getValue());
@Override public MarkupDocBuilder apply(MarkupDocBuilder markupDocBuilder, Parameters params) { String securitySchemeDefinitionName = params.securitySchemeDefinitionName; SecuritySchemeDefinition securitySchemeDefinition = params.securitySchemeDefinition; applySecurityDocumentExtension(new SecurityDocumentExtension.Context(Position.SECURITY_SCHEME_BEFORE, markupDocBuilder, securitySchemeDefinitionName, securitySchemeDefinition)); markupDocBuilder.sectionTitleWithAnchorLevel(params.titleLevel, securitySchemeDefinitionName); applySecurityDocumentExtension(new SecurityDocumentExtension.Context(Position.SECURITY_SCHEME_BEGIN, markupDocBuilder, securitySchemeDefinitionName, securitySchemeDefinition)); String description = securitySchemeDefinition.getDescription(); if (isNotBlank(description)) { markupDocBuilder.paragraph(markupDescription(config.getSwaggerMarkupLanguage(), markupDocBuilder, description)); } buildSecurityScheme(markupDocBuilder, securitySchemeDefinition); applySecurityDocumentExtension(new SecurityDocumentExtension.Context(Position.SECURITY_SCHEME_END, markupDocBuilder, securitySchemeDefinitionName, securitySchemeDefinition)); applySecurityDocumentExtension(new SecurityDocumentExtension.Context(Position.SECURITY_SCHEME_AFTER, markupDocBuilder, securitySchemeDefinitionName, securitySchemeDefinition)); return markupDocBuilder; }
private SecuritySchemeDefinition getSecuritySchemeDefinitionByType(String type, JsonNode node) throws GenerateException { try { SecuritySchemeDefinition def = null; if (type.equals(new OAuth2Definition().getType())) { def = new OAuth2Definition(); if (node != null) { def = mapper.readValue(node.traverse(), OAuth2Definition.class); } } else if (type.equals(new BasicAuthDefinition().getType())) { def = new BasicAuthDefinition(); if (node != null) { def = mapper.readValue(node.traverse(), BasicAuthDefinition.class); } } else if (type.equals(new ApiKeyAuthDefinition().getType())) { def = new ApiKeyAuthDefinition(); if (node != null) { def = mapper.readValue(node.traverse(), ApiKeyAuthDefinition.class); } } return def; } catch (IOException e) { throw new GenerateException(e); } }
@Override public void beforeScan(final io.swagger.jaxrs.Reader reader, final Swagger swagger) { BasicAuthDefinition basicAuthDefinition = new BasicAuthDefinition(); swagger.addSecurityDefinition(BASIC_AUTH_SCHEME, basicAuthDefinition); ApiKeyAuthDefinition xKillbillApiKey = new ApiKeyAuthDefinition("X-Killbill-ApiKey", In.HEADER); swagger.addSecurityDefinition(API_KEY_SCHEME, xKillbillApiKey); ApiKeyAuthDefinition xKillbillApiSecret = new ApiKeyAuthDefinition("X-Killbill-ApiSecret", In.HEADER); swagger.addSecurityDefinition(API_SECRET_SCHEME, xKillbillApiSecret); }
.basePath("/") .tags(ImmutableList.copyOf(tags)) .securityDefinition("write_key", new ApiKeyAuthDefinition().in(In.HEADER).name("write_key")) .securityDefinition("read_key", new ApiKeyAuthDefinition().in(In.HEADER).name("read_key")) .securityDefinition("master_key", new ApiKeyAuthDefinition().in(In.HEADER).name("master_key"));
public static BasicAuthDefinition basicAuth() { return new BasicAuthDefinition(); } public static ApiKeyAuthDefinition apiKeyAuth(String name, In in) {
swagger.securityDefinition("Scouter auth token", new ApiKeyAuthDefinition("Authorization", In.HEADER)); new SwaggerContextService().withServletConfig(config).updateSwagger(swagger);
String type = labels.getLabel(UNKNOWN); if (securityDefinitions != null && securityDefinitions.containsKey(securityKey)) { type = securityDefinitions.get(securityKey).getType();
public OAuth2Definition password(String tokenUrl) { this.setTokenUrl(tokenUrl); this.setFlow("password"); return this; }
public OAuth2Definition accessCode(String authorizationUrl, String tokenUrl) { this.setTokenUrl(tokenUrl); this.setAuthorizationUrl(authorizationUrl); this.setFlow("accessCode"); return this; }
public static OAuth2Definition oAuth2() { return new OAuth2Definition(); } public static ExternalDocs externalDocs() {
public AuthorizationValue(String keyName, String value, String type) { this.setKeyName(keyName); this.setValue(value); this.setType(type); }
public ApiKeyAuthDefinition name(String name) { this.setName(name); return this; }
public ApiKeyAuthDefinition in(In in) { this.setIn(in); return this; }
public OAuth2Definition implicit(String authorizationUrl) { this.setAuthorizationUrl(authorizationUrl); this.setFlow("implicit"); return this; }
public OAuth2Definition scope(String name, String description) { this.addScope(name, description); return this; }
public OAuth2Definition application(String tokenUrl) { this.setTokenUrl(tokenUrl); this.setFlow("application"); return this; }