Skip to content

Instantly share code, notes, and snippets.

@levancho
Created May 31, 2023 19:33
Show Gist options
  • Save levancho/b877363e3318604e1a5b148e70aa4f61 to your computer and use it in GitHub Desktop.
Save levancho/b877363e3318604e1a5b148e70aa4f61 to your computer and use it in GitHub Desktop.
@Configuration
@EnableSwagger2
public class SpringFoxConfig {
public static final String AUTHORIZATION_HEADER = "Authorization";
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.ignoredParameterTypes(AuthenticationPrincipal.class, DespaniPrincipal.class)
.securityContexts(Arrays.asList(securityContext()))
.securitySchemes(Arrays.asList(apiKey())).select()
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
.paths(PathSelectors.ant("/rest/v1/**").or(PathSelectors.ant("/rest/public/v1/**")))
.build().apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("API").description("Kwikorder").version("v1").build();
}
private ApiKey apiKey() {
return new ApiKey("JWT", AUTHORIZATION_HEADER, "header");
}
private SecurityContext securityContext() {
return SecurityContext.builder()
.securityReferences(defaultAuth())
.build();
}
List<SecurityReference> defaultAuth() {
AuthorizationScope authorizationScope
= new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
return Arrays.asList(new SecurityReference("JWT", authorizationScopes));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment