Skip to content

[improve/#433] OAuth state 쿠키 보안 속성 정리#443

Merged
Dimo-2562 merged 1 commit into
developfrom
improve/#433
Jun 15, 2026
Merged

[improve/#433] OAuth state 쿠키 보안 속성 정리#443
Dimo-2562 merged 1 commit into
developfrom
improve/#433

Conversation

@Dimo-2562

Copy link
Copy Markdown
Contributor

❤️ 기능 설명

OAuth2/OIDC authorization request(state) cookie의 보안 속성을 명시했습니다.

  • oauth2_auth_request 저장 cookie에 HttpOnly, Secure, SameSite=None, Path=/, Max-Age=180 적용
  • 삭제 cookie도 동일한 HttpOnly, Secure, SameSite=None, Path=/ 속성과 Max-Age=0으로 생성
  • Domain은 설정하지 않아 기존처럼 host-only cookie로 유지
  • Servlet Cookie가 표현하지 못하는 SameSite 검증을 위해 ResponseCookie + Set-Cookie header 방식으로 변경
  • authorization request save/load/remove 기존 serialization 흐름은 유지
  • 실패 redirect는 #431에서 이미 errorCode=oauth_failed로 정리된 상태라, 이번 PR에서는 추가 변경하지 않았습니다.

Swagger 테스트 성공 결과 스크린샷 첨부

  • API path, JSON field, status code 변경 없는 OAuth state cookie 보안 속성 정리라 Swagger 스크린샷은 해당 없습니다.
  • 아래 CLI 검증 결과와 PR CI로 대체합니다.

연결된 issue

close #433



🩷 Approve 하기 전 확인해주세요!

  • oauth2_auth_request cookie는 SameSite=None; Secure 고정 정책입니다. local HTTP OAuth 브라우저 플로우는 보장하지 않고, local 검증은 HTTPS/local-tunnel 기준입니다.
  • OAuth 성공 redirect에서 access token을 제거하는 작업은 #440에서 별도로 처리합니다.
  • auth/security 내부 store/cache/cookie 책임 명명 정리는 #442에서 별도로 처리합니다.
  • refresh/logout CSRF 또는 Origin 검증 정책 변경, Redis refresh token hash/HMAC 저장은 이번 PR 범위가 아닙니다.

✅ 체크리스트

  • PR 제목 규칙 잘 지켰는가?
  • 추가/수정사항을 설명하였는가?
  • 테스트 결과 사진을 넣었는가? (API 계약 변경 없는 리팩터링/보안 속성 정리라 CLI 결과로 대체)
  • 이슈넘버를 적었는가?

🧪 테스트 결과

git diff --check origin/develop...HEAD
# 통과

./gradlew test --tests 'com.techfork.auth.security.handler.login.*' --tests 'com.techfork.auth.security.oauth.*'
# BUILD SUCCESSFUL, 27 tests passed

🔎 리뷰 결과

$code-review auth/auth.security 구조 리뷰
- code-reviewer recommendation: REQUEST CHANGES for broader auth/security structure
- architect status: WATCH

@Dimo-2562 Dimo-2562 self-assigned this Jun 15, 2026
@Dimo-2562 Dimo-2562 added ✨ IMPROVE 기존 기능 변경 🔐 domain:auth 인증/보안 관련 (로그인, JWT, OAuth) labels Jun 15, 2026
@Dimo-2562 Dimo-2562 merged commit 8c66d78 into develop Jun 15, 2026
1 check passed
@Dimo-2562 Dimo-2562 deleted the improve/#433 branch June 15, 2026 12:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔐 domain:auth 인증/보안 관련 (로그인, JWT, OAuth) ✨ IMPROVE 기존 기능 변경

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[IMPROVE] OAuth2/OIDC 실패 redirect와 state cookie 정책 정리

1 participant