From 0bdcae6af6f210eade489453b26c9abfc5691fbd Mon Sep 17 00:00:00 2001 From: sangkiham Date: Fri, 26 May 2023 17:50:29 +0900 Subject: [PATCH] Merge branch 'master' of http://daeuServer.iptime.org/grp_cna/auth_jwt_api.git --- src/main/java/daeucna/Security/config/SwaggerConfig.java | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/src/main/java/daeucna/Security/config/SwaggerConfig.java b/src/main/java/daeucna/Security/config/SwaggerConfig.java index b4ec90d..394b2a2 100644 --- a/src/main/java/daeucna/Security/config/SwaggerConfig.java +++ b/src/main/java/daeucna/Security/config/SwaggerConfig.java @@ -1,5 +1,7 @@ package daeucna.Security.config; +import java.util.List; + import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -7,12 +9,14 @@ import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.ApiKey; +import springfox.documentation.service.AuthorizationScope; +import springfox.documentation.service.SecurityReference; import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.contexts.SecurityContext; import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration -@EnableSwagger2 public class SwaggerConfig { @Bean @@ -24,9 +28,30 @@ public class SwaggerConfig { .apis(RequestHandlerSelectors.basePackage("daeucna.Security.web.controller")) .paths(PathSelectors.any()) .build() - .apiInfo(apiInfo()); + .apiInfo(apiInfo()) + .securityContexts(List.of(this.securityContext())) // SecurityContext 설정 + .securitySchemes(List.of(this.apiKey())); // ApiKey 설정 } + // JWT SecurityContext 구성 + private SecurityContext securityContext() { + return SecurityContext.builder() + .securityReferences(defaultAuth()) + .build(); + } + + private List defaultAuth() { + AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); + AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; + authorizationScopes[0] = authorizationScope; + return List.of(new SecurityReference("X-AUTH-TOKEN", authorizationScopes)); + } + + // ApiKey 정의 + private ApiKey apiKey() { + return new ApiKey("X-AUTH-TOKEN", "JWT", "header"); + } + private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Swagger Test") -- libgit2 0.21.4