Compare commits

..

2 Commits

Author SHA1 Message Date
dongHyo
ead7a450db feat: 컨트롤러 예외처리 구현 2022-06-24 00:59:15 +09:00
dongHyo
d7c17cdfa6 feat: Exception Handler 구현 2022-06-23 15:26:34 +09:00
4 changed files with 0 additions and 53 deletions

View File

@@ -1,7 +1,6 @@
package com.ticketing.server.user.application;
import com.ticketing.server.user.application.request.LoginRequest;
import com.ticketing.server.user.application.response.LogoutResponse;
import com.ticketing.server.user.application.response.TokenDto;
import com.ticketing.server.user.service.interfaces.AuthenticationService;
import lombok.RequiredArgsConstructor;
@@ -9,8 +8,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -43,14 +40,6 @@ public class AuthController {
.body(tokenDto);
}
@PostMapping("/logout")
public ResponseEntity<LogoutResponse> logout(@AuthenticationPrincipal UserDetails userRequest) {
LogoutResponse logoutResponse = authenticationService.deleteRefreshToken(userRequest.getUsername());
return ResponseEntity.status(HttpStatus.OK)
.body(logoutResponse);
}
private HttpHeaders getHttpHeaders() {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.set(HttpHeaders.CACHE_CONTROL, "no-cache, no-store, must-revalidate");

View File

@@ -1,28 +0,0 @@
package com.ticketing.server.user.application.response;
import com.ticketing.server.global.redis.RefreshToken;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public class LogoutResponse {
private Long refreshTokenId;
private String email;
private String refreshToken;
private LogoutResponse(String email) {
this.email = email;
}
public static LogoutResponse from(String email) {
return new LogoutResponse(email);
}
public static LogoutResponse from(RefreshToken refreshToken) {
return new LogoutResponse(refreshToken.getId(), refreshToken.getEmail(), refreshToken.getToken());
}
}

View File

@@ -9,7 +9,6 @@ import com.ticketing.server.global.redis.RefreshRedisRepository;
import com.ticketing.server.global.redis.RefreshToken;
import com.ticketing.server.global.security.jwt.JwtProperties;
import com.ticketing.server.global.security.jwt.JwtProvider;
import com.ticketing.server.user.application.response.LogoutResponse;
import com.ticketing.server.user.application.response.TokenDto;
import com.ticketing.server.user.service.interfaces.AuthenticationService;
import lombok.RequiredArgsConstructor;
@@ -80,16 +79,6 @@ public class AuthenticationServiceImpl implements AuthenticationService {
return tokenDto;
}
@Override
@Transactional
public LogoutResponse deleteRefreshToken(String email) {
return refreshRedisRepository.findByEmail(email)
.map(tokenDto -> {
refreshRedisRepository.delete(tokenDto);
return LogoutResponse.from(tokenDto);
}).orElseGet(() -> LogoutResponse.from(email));
}
private String resolveToken(String bearerToken) {
if (StringUtils.hasText(bearerToken) && jwtProperties.hasTokenStartsWith(bearerToken)) {
return bearerToken.substring(7);

View File

@@ -1,6 +1,5 @@
package com.ticketing.server.user.service.interfaces;
import com.ticketing.server.user.application.response.LogoutResponse;
import com.ticketing.server.user.application.response.TokenDto;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -10,6 +9,4 @@ public interface AuthenticationService {
TokenDto reissueTokenDto(String bearerRefreshToken);
LogoutResponse deleteRefreshToken(String email);
}