Skip to content

fix: Swagger UI/API 문서에 Basic Auth 인증 추가 - #472

Merged
pooreumjung merged 2 commits into
developfrom
fix/#471-add-swagger-basic-auth
Sep 4, 2026
Merged

pooreumjung merged 2 commits into
developfrom
fix/#471-add-swagger-basic-auth

Conversation

@pooreumjung

@pooreumjung pooreumjung commented Sep 4, 2026

Copy link
Copy Markdown
Member

#️⃣ Issue Number

📝 요약(Summary)

  • Swagger UI(/swagger-ui.html, /swagger-ui/**)와 API 문서(/v3/api-docs/**, /swagger-resources/**)가 dev/prod 환경에서도 인증 없이 전면 공개되어 있던 문제를 수정했습니다. SecurityConfig, JwtAuthenticationFilter 두 화이트리스트 모두 무인증(permitAll)이었고, 9000번 포트가 전체 인터페이스에 바인딩되어 있어 API 전체 스펙(actuator 엔드포인트 포함)이 외부에 노출될 수 있는 상태였습니다.
  • SecurityConfig에 swagger 경로 전용 SecurityFilterChain(swaggerFilterChain, @Order(1))을 추가하고 @Profile({"dev", "prod"})로 두 환경에서만 활성화했습니다. 인메모리 UserDetailsService(swaggerUserDetailsService)가 swagger.username/swagger.password 프로퍼티로 Basic Auth 계정을 구성합니다. 기존 메인 필터체인은 @Order(2)로 명시했습니다.
  • local 프로필은 두 빈이 생성되지 않아 기존처럼 무인증 접근이 유지됩니다.
  • application-dev.yml/application-prod.ymlswagger.username/swagger.password를 각각 ${SWAGGER_USER}/${SWAGGER_PASSWORD} 환경변수로 추가하고, cd.yml의 dev/prod docker run에 해당 환경변수를 SWAGGER_DEV_*/SWAGGER_PROD_* GitHub Secrets로부터 주입하도록 했습니다(계정 값은 dev/prod 별도로 이미 등록해뒀습니다).

💬 공유사항 to 리뷰어

  • JwtAuthenticationFilter.AUTH_WHITELISTSecurityConfig.RESOURCE_LIST는 건드리지 않았습니다. dev/prod에서는 새 swaggerFilterChain이 우선순위(@Order(1))로 swagger 요청을 먼저 가로채 기존 JWT 필터를 아예 타지 않고, local에서는 기존 로직 그대로 통과하므로 두 화이트리스트를 수정할 필요가 없었습니다. 다만 .claude/rules/auth.md에 "새 public 엔드포인트 추가 시 두 곳을 함께 수정"이라는 관례가 적혀 있는데, 이번엔 반대로 "제거"라 해당 관례가 적용되는 케이스인지 리뷰 시 한번 봐주시면 좋겠습니다.
  • dev/prod 계정의 비밀번호가 현재 동일한 값으로 등록되어 있습니다(아이디만 다름) — 별도 계정 분리 취지상 비밀번호도 다르게 가는 게 권장되나, 이번 PR 범위에서는 값 자체를 바꾸지 않았습니다.

✅ PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • 커밋 메시지 컨벤션에 맞게 작성했습니다.
  • 변경 사항에 대한 테스트를 했습니다.(버그 수정/기능에 대한 테스트)

@pooreumjung pooreumjung added the fix 고치기 label Sep 4, 2026
@pooreumjung pooreumjung self-assigned this Sep 4, 2026
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

📊 테스트 커버리지 리포트

Overall Project 95.49% -0.12% 🍏
Files changed 62.86%

File Coverage
SecurityConfig.java 91.64% -8.36%

@pooreumjung
pooreumjung merged commit 10f6e77 into develop Sep 4, 2026
1 check passed
@pooreumjung
pooreumjung deleted the fix/#471-add-swagger-basic-auth branch September 4, 2026 05:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix 고치기

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: Swagger UI/API 문서에 인증(Basic Auth) 추가

1 participant