Skip to content

Commit

Permalink
πŸ”€ merge pull request #13 from feature/swagger-config
Browse files Browse the repository at this point in the history
[Feature] SwaggerConfig μž‘μ„±
  • Loading branch information
kiwijomn authored Jan 23, 2024
2 parents f2bd4a9 + 1692e35 commit 971ab04
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package gdsc.sc.bsafe.global.config;

import gdsc.sc.bsafe.global.security.ApplicationAuditAware;
import gdsc.sc.bsafe.global.security.CustomUserDetailService;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
public class SecurityConfig {

private static final String[] WHITE_LIST_URL = {
"/api/auth/**",
"/api/auth/sign-up",
"/api/auth/login",
"v3/api-docs/**",
"/swagger-resources",
"/swagger-resources/**",
Expand Down
43 changes: 43 additions & 0 deletions src/main/java/gdsc/sc/bsafe/global/config/SwaggerConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package gdsc.sc.bsafe.global.config;

import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpHeaders;

import static io.swagger.v3.oas.models.security.SecurityScheme.In.HEADER;

@Configuration
public class SwaggerConfig {

private static final String KEY = "Access Token (Bearer)";

@Bean
public OpenAPI openAPI() {
Info info = new Info()
.title("API Document")
.version("v1.0")
.description("API λͺ…μ„Έμ„œμž…λ‹ˆλ‹€.");

SecurityRequirement securityRequirement = new SecurityRequirement()
.addList(KEY);

SecurityScheme securityScheme = new SecurityScheme()
.name(HttpHeaders.AUTHORIZATION)
.type(SecurityScheme.Type.HTTP)
.in(HEADER)
.bearerFormat("JWT")
.scheme("Bearer");

Components components = new Components().addSecuritySchemes(KEY, securityScheme);

return new OpenAPI()
.info(info)
.addSecurityItem(securityRequirement)
.components(components);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package gdsc.sc.bsafe.global.config;
package gdsc.sc.bsafe.global.security;

import gdsc.sc.bsafe.domain.User;
import org.springframework.data.domain.AuditorAware;
Expand Down

0 comments on commit 971ab04

Please sign in to comment.