728x90
개요
GlowGrow 프로젝트는 JWT 토큰 기반의 인증 시스템을 사용하고 있습니다. Swagger를 통해 API를 테스트할 때도 실제 운영 환경과 동일하게 JWT 토큰 인증이 필요합니다.
Swagger UI에서 JWT 토큰을 사용하기 위해서는 특별한 Configuration 설정이 필요한데, 본 글에서는 이러한 JWT 토큰 인증을 위한 Swagger Configuration 설정 방법과 그 동작 원리에 대해 정리하고자 합니다.
설정 방법
1. 기본 API 정보 설정
@OpenAPIDefinition(
info = @Info(
title = "Glow-Grow Payment Service",
version = "1.0.0",
description = "팀 T키타카의 Glow-Grow 프로모션 서비스입니다."
)
)
- API 문서의 기본 정보 정의
- 서비스 제목, 버전, 설명 포함
2. JWT 인증 설정
.components(new Components()
.addSecuritySchemes("bearer-jwt", new SecurityScheme()
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")))
- Bearer JWT 인증 방식 정의
- Swagger UI에 인증 헤더 입력 필드 추가
- JWT 토큰을 Authorization 헤더에 포함
3. 보안 요구사항 설정
.addSecurityItem(new SecurityRequirement().addList("bearer-jwt"))
- 모든 API 엔드포인트에 JWT 인증 요구
- Swagger UI에서 토큰 없이 API 테스트 불가
4. 게이트웨이 서버 설정
@Value("${gateway.url}")
private String gatewayURL;
.addServersItem(new Server().url(gatewayURL))
- API 게이트웨이 URL 설정
- 모든 요청이 게이트웨이를 통해 라우팅
장점
- Swagger UI에서 토큰 입력 가능
- 실제 인증이 필요한 API 테스트 가능
- 게이트웨이를 통한 통합된 API 테스트
- 보안 요구사항 문서화
이 설정을 통해 개발자는 Swagger UI에서 JWT 토큰을 입력하고 보안이 적용된 API를 쉽게 테스트할 수 있습니다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2024.11.04 - 게시판 좋아요 기능 동시성 문제 해결 및 고도화된 부하 테스트 (0) | 2024.11.04 |
---|---|
[TIL, 일일 회고] 2024.11.03 - GlowGrow 프로젝트: 쿠폰 유형에 따른 맞춤 정산 로직 도입기 (2) | 2024.11.03 |
[TIL, 일일 회고] 2024.11.01 - springdoc-openapi-ui (0) | 2024.11.01 |
[TIL, 일일 회고] 2024.10.31 - 효율적인 MSA 배포를 위한 GitHub Actions의 Matrix Strategy 활용 (0) | 2024.10.31 |
[TIL, 일일 회고] 2024.10.30 - MSA 배포 자동화를 위한 Docker 이미지 태깅 전략 (0) | 2024.10.31 |