From b83d0b3faf67462297327773d74c48cc9aff62a6 Mon Sep 17 00:00:00 2001 From: rayankonecny Date: Thu, 18 Dec 2025 04:20:54 +0000 Subject: [PATCH] Fix type of throws exceptions --- .../configs/SecurityConfig.java | 8 ++- .../ControllerExceptionHandler.java | 57 +++++++------------ .../controllers/impl/AuthControllerImpl.java | 3 +- .../authserviceapi/services/AuthService.java | 2 +- 4 files changed, 28 insertions(+), 42 deletions(-) diff --git a/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/configs/SecurityConfig.java b/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/configs/SecurityConfig.java index e5cc4ae..10f6b23 100644 --- a/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/configs/SecurityConfig.java +++ b/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/configs/SecurityConfig.java @@ -13,8 +13,12 @@ public class SecurityConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { - http.authorizeHttpRequests(auth -> auth.requestMatchers("/auth/login", "/v3/api-docs/**", "/swagger-ui/**", - "/swagger-ui.html","/auth/refreshtoken", "/swagger-ui/index.html").permitAll().anyRequest().authenticated()) + http.authorizeHttpRequests(auth -> auth.requestMatchers( + "/auth/**", + "/v3/api-docs/**", + "/swagger-ui/**", + "/swagger-ui.html", + "/swagger-ui/index.html").permitAll().anyRequest().authenticated()) // API pura → sem Basic .httpBasic(httpBasic -> httpBasic.disable()) diff --git a/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/controllers/exceptions/ControllerExceptionHandler.java b/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/controllers/exceptions/ControllerExceptionHandler.java index 81ad5a1..df99a7b 100644 --- a/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/controllers/exceptions/ControllerExceptionHandler.java +++ b/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/controllers/exceptions/ControllerExceptionHandler.java @@ -1,61 +1,44 @@ package br.com.rayankonecny.authserviceapi.controllers.exceptions; import org.springframework.http.ResponseEntity; +import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.validation.FieldError; -import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; - import jakarta.servlet.http.HttpServletRequest; - -import br.com.rayankonecny.hdcommoslib.models.exceptions.ValidationException; import br.com.rayankonecny.hdcommoslib.models.exceptions.RefreshTokenExpired; import br.com.rayankonecny.hdcommoslib.models.exceptions.StandardError; - import static java.time.LocalDateTime.now; -import static org.springframework.http.HttpStatus.BAD_REQUEST; import static org.springframework.http.HttpStatus.NOT_FOUND; -import static org.springframework.http.HttpStatus.NOT_ACCEPTABLE; +import static org.springframework.http.HttpStatus.UNAUTHORIZED; -import java.util.ArrayList; @ControllerAdvice public class ControllerExceptionHandler { @ExceptionHandler(UsernameNotFoundException.class) - ResponseEntity handleNotFoundException(final UsernameNotFoundException ex, - final HttpServletRequest request) { + ResponseEntity handleNotFoundException(final UsernameNotFoundException ex,final HttpServletRequest request) { return ResponseEntity.status(NOT_FOUND).body( - - StandardError.builder().timestamp(now()).status(NOT_FOUND.value()).error(NOT_FOUND.getReasonPhrase()) - .message(ex.getMessage()).path(request.getRequestURI()).build()); + StandardError.builder() + .timestamp(now()) + .status(NOT_FOUND.value()) + .error(NOT_FOUND.getReasonPhrase()) + .message(ex.getMessage()) + .path(request.getRequestURI()) + .build()); } - @ExceptionHandler(MethodArgumentNotValidException.class) - ResponseEntity handleMethodArgumentNotValidException(final MethodArgumentNotValidException ex, - final HttpServletRequest request) { + @ExceptionHandler({BadCredentialsException.class,RefreshTokenExpired.class}) + ResponseEntity handleBadCredentialsException(final BadCredentialsException ex, final HttpServletRequest request) { - var error = ValidationException.builder().timestamp(now()).status(BAD_REQUEST.value()).error("Validation Exception") - .message("Exception in validation attributes").path(request.getRequestURI()).errors(new ArrayList<>()).build(); - - for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) { - error.addError(fieldError.getField(), fieldError.getDefaultMessage()); - } - - return ResponseEntity.badRequest().body(error); + return ResponseEntity.status(UNAUTHORIZED).body( + StandardError.builder() + .timestamp(now()) + .status(UNAUTHORIZED.value()) + .error(UNAUTHORIZED.getReasonPhrase()) + .message(ex.getMessage()) + .path(request.getRequestURI()) + .build()); } - - @ExceptionHandler(RefreshTokenExpired.class) - ResponseEntity handleRefreshTokenExpired(final RefreshTokenExpired ex, - final HttpServletRequest request) { - - var error = ValidationException.builder().timestamp(now()).status(NOT_ACCEPTABLE.value()) - .error("Validation Exception").message("Refresh Token Expired").path(request.getRequestURI()) - .errors(new ArrayList<>()).build(); - - return ResponseEntity.badRequest().body(error); - } - } diff --git a/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/controllers/impl/AuthControllerImpl.java b/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/controllers/impl/AuthControllerImpl.java index fea9e64..f37c2b9 100644 --- a/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/controllers/impl/AuthControllerImpl.java +++ b/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/controllers/impl/AuthControllerImpl.java @@ -21,8 +21,7 @@ public class AuthControllerImpl implements AuthController { private final RefreshTokenService refreshService; @Override - public ResponseEntity authenticate(@Valid - AuthenticateRequest request) { + public ResponseEntity authenticate(@Valid AuthenticateRequest request) { return ResponseEntity.ok(authService.authenticate(request)); } diff --git a/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/services/AuthService.java b/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/services/AuthService.java index be3fed2..eba8dd7 100644 --- a/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/services/AuthService.java +++ b/auth-service-api/src/main/java/br/com/rayankonecny/authserviceapi/services/AuthService.java @@ -31,6 +31,6 @@ public class AuthService { String token = jwtUtils.generateToken(user); RefreshToken refresh = refreshTokenService.save(user.getUsername()); - return new AuthenticationResponse(token, refresh.getId(), user.getUsername()); + return new AuthenticationResponse(token, refresh.getId(), "Bearer"); } }