Skip to content

learning-manager-135_revoke-all-devices#139

Merged
chan99k merged 4 commits intomainfrom
learning-manager-135_revoke-all-devices
Dec 9, 2025
Merged

learning-manager-135_revoke-all-devices#139
chan99k merged 4 commits intomainfrom
learning-manager-135_revoke-all-devices

Conversation

@chan99k
Copy link
Collaborator

@chan99k chan99k commented Dec 9, 2025

💡 Motivation and Context

사용자가 모든 기기에서 한 번에 로그아웃할 수 있는 기능을 제공합니다. 보안상의 이유로 토큰을 즉시 무효화 해야 하는 창구로 사용할 수 있습니다.


🔨 Modified

신규 API 추가

  • POST /api/v1/auth/token/revoke-all: 현재 사용자의 모든 Refresh Token 폐기

신규 파일

  • RevokeAllTokens.java: 전체 토큰 폐기 유스케이스 인터페이스
  • RevokeAllTokensService.java: 유스케이스 구현체
  • RevokeAllTokensServiceTest.java: 서비스 유닛 테스트

수정 파일

  • AuthController.java: revoke-all 엔드포인트 추가
  • AuthControllerTest.java: RevokeAllTokens MockBean 추가

🌟 More

  • 기존에 미리 준비해두었던 RefreshTokenRepository.revokeAllByMemberId() 메서드를 활용하여 구현
  • @AuthenticationPrincipal을 통해 현재 인증된 사용자의 memberId를 가져옴

📋 체크리스트

  • 추가/변경에 대한 테스트
  • 코드 컨벤션

🤟🏻 PR로 완료된 이슈

closes #135

- 회원의 모든 Refresh Token을 폐기하는 `RevokeAllTokens` 인터페이스 추가
- `RevokeAllTokensServiceTest` 클래스 추가 및 모든 토큰 폐기 로직 테스트 작성
- `AuthControllerTest`에 `RevokeAllTokens` MockBean 추가 및 관련 테스트 준비
@github-actions
Copy link

github-actions bot commented Dec 9, 2025

테스트 커버리지 리포트

Overall Project 67.17% 🍏
Files changed 100% 🍏

File Coverage
AuthController.java 100% 🍏
RevokeAllTokensService.java 100% 🍏

- `RevokeAllTokensServiceTest` 클래스 추가 및 모든 토큰 폐기 로직 테스트 작성
- `AuthControllerTest`에 `RevokeAllTokens` MockBean 추가 및 관련 테스트 준비
@chan99k chan99k added 💡 feat 기능 추가 혹은 개선 🐕‍🦺 backend 백엔드 로직 labels Dec 9, 2025
@chan99k chan99k merged commit cb0a5fb into main Dec 9, 2025
4 checks passed
@chan99k chan99k deleted the learning-manager-135_revoke-all-devices branch December 9, 2025 09:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💡 feat 기능 추가 혹은 개선 🐕‍🦺 backend 백엔드 로직

Projects

None yet

Development

Successfully merging this pull request may close these issues.

전체 세션 로그아웃 API 구현

1 participant