Update: swgger auth 설정
This commit is contained in:
parent
22857a9958
commit
ff52122ea2
@ -1,53 +1,34 @@
|
|||||||
package com.ktds.hi.review.infra.config;
|
package com.ktds.hi.review.infra.config;
|
||||||
|
|
||||||
import io.swagger.v3.oas.models.Components;
|
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.OpenAPI;
|
||||||
import io.swagger.v3.oas.models.info.Info;
|
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.security.SecurityScheme;
|
||||||
import io.swagger.v3.oas.models.servers.Server;
|
import io.swagger.v3.oas.models.servers.Server;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
/**
|
|
||||||
* Swagger 설정 클래스
|
|
||||||
* API 문서화를 위한 OpenAPI 설정
|
|
||||||
*/
|
|
||||||
@Configuration
|
@Configuration
|
||||||
public class SwaggerConfig {
|
public class SwaggerConfig {
|
||||||
|
|
||||||
private static final String SECURITY_SCHEME_NAME = "bearerAuth";
|
|
||||||
@Bean
|
@Bean
|
||||||
public OpenAPI openAPI() {
|
public OpenAPI openAPI() {
|
||||||
|
final String securitySchemeName = "Bearer Authentication";
|
||||||
|
|
||||||
return new OpenAPI()
|
return new OpenAPI()
|
||||||
.addServersItem(new Server().url("/"))
|
.addServersItem(new Server().url("/"))
|
||||||
.info(new Info()
|
.info(new Info()
|
||||||
.title("하이오더 리뷰 관리 서비스 API")
|
.title("하이오더 리뷰 관리 서비스 API")
|
||||||
.description("리뷰 작성, 조회, 삭제, 반응, 댓글 등 리뷰 관련 기능을 제공하는 API")
|
.description("리뷰 작성, 조회, 삭제, 반응, 댓글 등 리뷰 관련 기능을 제공하는 API")
|
||||||
.version("1.0.0"))
|
.version("1.0.0"))
|
||||||
.components(new Components() // 이 줄 추가!
|
.addSecurityItem(new SecurityRequirement()
|
||||||
.addSecuritySchemes(SECURITY_SCHEME_NAME, createAPIKeyScheme())) // 이 줄 추가!
|
.addList(securitySchemeName))
|
||||||
.addSecurityItem(new SecurityRequirement().addList(SECURITY_SCHEME_NAME)); // 이 줄 추가!
|
.components(new Components()
|
||||||
}
|
.addSecuritySchemes(securitySchemeName, new SecurityScheme()
|
||||||
|
.name(securitySchemeName)
|
||||||
/**
|
|
||||||
* JWT Bearer 토큰을 위한 Security Scheme 생성
|
|
||||||
*/
|
|
||||||
private SecurityScheme createAPIKeyScheme() {
|
|
||||||
return new SecurityScheme()
|
|
||||||
.type(SecurityScheme.Type.HTTP)
|
.type(SecurityScheme.Type.HTTP)
|
||||||
.scheme("bearer")
|
.scheme("bearer")
|
||||||
.bearerFormat("JWT")
|
.bearerFormat("JWT")));
|
||||||
.in(SecurityScheme.In.HEADER)
|
|
||||||
.name("Authorization")
|
|
||||||
.description("""
|
|
||||||
JWT 토큰을 입력하세요
|
|
||||||
|
|
||||||
사용법:
|
|
||||||
1. 로그인 API로 토큰 발급
|
|
||||||
2. Bearer 접두사 없이 토큰만 입력
|
|
||||||
3. 예: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOi...
|
|
||||||
""");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user