Skip to content

Commit

Permalink
fix: logout 기능 마무리
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeongh00 committed Jul 21, 2024
1 parent b30ab27 commit ce7a695
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,13 @@ public LoginResponse reissueToken(String refreshToken) {
}
}

public void deleteToken(String refreshToken) {

// 삭제 로직
String email = getEmail(refreshToken);
redisUtil.delete(email + "_refresh_token");
}

public void validateRefreshToken(String refreshToken) {
// refreshToken 유효성 검증
String email = getEmail(refreshToken);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,11 @@ public LoginResponse reissueToken(String refreshToken) {

return jwtUtil.reissueToken(refreshToken);
}

@Transactional
public void logout(String refreshToken, String name) {

jwtUtil.deleteToken(refreshToken);
if (userRepository.findByName(name).isPresent()) userRepository.deleteByName(name);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,26 @@ public ApplicationResponse<LoginResponse> kakaoLogin(@Valid @RequestBody KakaoLo
}
)
@Operation(summary = "토큰 재발급 API", description = "토큰 재발급 API입니다.")
public ApplicationResponse<String> reissue(@RequestHeader(AuthConsts.REFRESH_TOKEN_HEADER) String refreshToken) {
public ApplicationResponse<LoginResponse> reissue(@RequestHeader(AuthConsts.REFRESH_TOKEN_HEADER) String refreshToken) {
LoginResponse response = loginUseCase.reissueToken(refreshToken);
return ApplicationResponse.ok("미완");
return ApplicationResponse.ok(response);
}

@DeleteMapping("/logout")
@ApiResponses(
value = {
@ApiResponse(
responseCode = "200",
description = "로그아웃 성공",
useReturnTypeSchema = true
)
}
)
@Operation(summary = "로그아웃 API", description = "로그아웃 API입니다.")
public ApplicationResponse<String> logout(@RequestHeader(AuthConsts.REFRESH_TOKEN_HEADER) String refreshToken,
@RequestParam String name) {

loginUseCase.logout(refreshToken, name);
return ApplicationResponse.ok("로그아웃 되었습니다.");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,8 @@ public interface UserRepository extends JpaRepository<User, Long> {
Optional<User> findBySubId(String subId);

Optional<User> findByEmail(String email);

Optional<User> findByName(String name);

void deleteByName(String name);
}

0 comments on commit ce7a695

Please sign in to comment.