-
Notifications
You must be signed in to change notification settings - Fork 0
[feat] 로그아웃 구현 #86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feat] 로그아웃 구현 #86
Conversation
|
Caution Review failedThe pull request is closed. Walkthrough로그아웃 기능 추가를 중심으로 보안 필터 체인에 CustomLogoutFilter가 도입되었고, JWT에서 category 클레임 조회 메서드가 추가되었습니다. 로그아웃 API 문서용 인터페이스와 컨트롤러가 새로 생성되었습니다. 릴리스 워크플로우는 트리거 브랜치가 변경되었습니다. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor U as User
participant F as Security Filter Chain
participant CLF as CustomLogoutFilter
participant JU as JwtUtil
participant C as LogoutController
Note over U,F: POST /logout (또는 /api/logout)
U->>F: HTTP 요청
F->>CLF: 필터 전처리
alt 경로 매칭(POST /logout|/api/logout)
CLF->>CLF: 쿠키에서 refresh 추출
CLF->>JU: isExpired(refresh)?
alt 만료/예외/없음/category!=refresh
CLF-->>U: 400 Bad Request
Note over CLF,U: 유효하지 않은 토큰
else 유효
CLF->>U: Set-Cookie: access, refresh 삭제(Max-Age=0)
CLF-->>U: 200 OK
Note over CLF,U: 체인 중단, 컨트롤러 미도달
end
else 비매칭 요청
CLF->>F: 다음 필터로 위임
F->>C: (매칭 시) Controller 호출
C-->>U: 200 OK (본문 없음)
Note over C,U: 선언은 String, 구현은 body 없음
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
✨ Finishing touches
🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (6)
Tip 👮 Agentic pre-merge checks are now available in preview!Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.
Please see the documentation for more information. Example: reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"
mode: "warning"
instructions: |
Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).Please share your feedback with us on this Discord post. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
📌 PR 개요
✅ 변경사항
🔍 체크리스트
📎 관련 이슈
Closes #85
💬 기타 참고사항
Summary by CodeRabbit