From ff52122ea2e78b14ddfd3b2fe3a4122ec213231b Mon Sep 17 00:00:00 2001 From: UNGGU0704 Date: Fri, 13 Jun 2025 15:06:46 +0900 Subject: [PATCH] =?UTF-8?q?Update:=20swgger=20auth=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hi/review/infra/config/SwaggerConfig.java | 43 ++++++------------- 1 file changed, 12 insertions(+), 31 deletions(-) diff --git a/review/src/main/java/com/ktds/hi/review/infra/config/SwaggerConfig.java b/review/src/main/java/com/ktds/hi/review/infra/config/SwaggerConfig.java index b778a9f..ff1f042 100644 --- a/review/src/main/java/com/ktds/hi/review/infra/config/SwaggerConfig.java +++ b/review/src/main/java/com/ktds/hi/review/infra/config/SwaggerConfig.java @@ -1,53 +1,34 @@ package com.ktds.hi.review.infra.config; import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.security.SecurityRequirement; 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 io.swagger.v3.oas.models.servers.Server; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -/** - * Swagger 설정 클래스 - * API 문서화를 위한 OpenAPI 설정 - */ @Configuration public class SwaggerConfig { - private static final String SECURITY_SCHEME_NAME = "bearerAuth"; @Bean public OpenAPI openAPI() { + final String securitySchemeName = "Bearer Authentication"; + return new OpenAPI() .addServersItem(new Server().url("/")) .info(new Info() .title("하이오더 리뷰 관리 서비스 API") .description("리뷰 작성, 조회, 삭제, 반응, 댓글 등 리뷰 관련 기능을 제공하는 API") .version("1.0.0")) - .components(new Components() // 이 줄 추가! - .addSecuritySchemes(SECURITY_SCHEME_NAME, createAPIKeyScheme())) // 이 줄 추가! - .addSecurityItem(new SecurityRequirement().addList(SECURITY_SCHEME_NAME)); // 이 줄 추가! + .addSecurityItem(new SecurityRequirement() + .addList(securitySchemeName)) + .components(new Components() + .addSecuritySchemes(securitySchemeName, new SecurityScheme() + .name(securitySchemeName) + .type(SecurityScheme.Type.HTTP) + .scheme("bearer") + .bearerFormat("JWT"))); } - - /** - * JWT Bearer 토큰을 위한 Security Scheme 생성 - */ - private SecurityScheme createAPIKeyScheme() { - return new SecurityScheme() - .type(SecurityScheme.Type.HTTP) - .scheme("bearer") - .bearerFormat("JWT") - .in(SecurityScheme.In.HEADER) - .name("Authorization") - .description(""" - JWT 토큰을 입력하세요 - - 사용법: - 1. 로그인 API로 토큰 발급 - 2. Bearer 접두사 없이 토큰만 입력 - 3. 예: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOi... - """); - } -} - +} \ No newline at end of file