diff --git a/src/main/java/kr/ac/kumoh/d138/JobForeigner/global/config/security/SecurityConfig.java b/src/main/java/kr/ac/kumoh/d138/JobForeigner/global/config/security/SecurityConfig.java index 7ab3217e..aace6d15 100644 --- a/src/main/java/kr/ac/kumoh/d138/JobForeigner/global/config/security/SecurityConfig.java +++ b/src/main/java/kr/ac/kumoh/d138/JobForeigner/global/config/security/SecurityConfig.java @@ -51,6 +51,10 @@ public SecurityFilterChain defaultSecurity(HttpSecurity http) throws Exception { // @PreAuthorized, @PostAuthorized의 경우 메서드 호출 직전에 차단되어 GlobalExceptionHandler에 의해 예외가 처리됩니다. .authorizeHttpRequests(req -> req .requestMatchers("/api/v1/admin/**").hasAnyRole(MemberType.ADMIN.name()) + .requestMatchers("/api/v1/members/sign-in").permitAll() + .requestMatchers("/api/v1/members/sign-up/**").permitAll() + .requestMatchers("/api/v1/members/refresh").permitAll() + .requestMatchers("/api/v1/email/**").permitAll() .anyRequest().permitAll()) .exceptionHandling(ex -> ex diff --git a/src/main/java/kr/ac/kumoh/d138/JobForeigner/global/jwt/filter/JwtAuthenticationFilter.java b/src/main/java/kr/ac/kumoh/d138/JobForeigner/global/jwt/filter/JwtAuthenticationFilter.java index 817b08f5..c92044c0 100644 --- a/src/main/java/kr/ac/kumoh/d138/JobForeigner/global/jwt/filter/JwtAuthenticationFilter.java +++ b/src/main/java/kr/ac/kumoh/d138/JobForeigner/global/jwt/filter/JwtAuthenticationFilter.java @@ -19,6 +19,7 @@ import org.springframework.web.filter.OncePerRequestFilter; import java.io.IOException; +import java.util.Arrays; import java.util.Optional; @Slf4j @@ -29,8 +30,11 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter { @Override protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException { + String[] excludePath = {"api/v1/members/sign-in", "api/v1/members/sign-up/**", "api/v1/members/refresh", "api/v1/email/**"}; + String authorizationHeader = request.getHeader(HttpHeaders.AUTHORIZATION); - return authorizationHeader == null; + return authorizationHeader == null + || Arrays.stream(excludePath).anyMatch(request.getRequestURI()::startsWith); } @Override diff --git a/src/main/java/kr/ac/kumoh/d138/JobForeigner/resume/service/ResumeService.java b/src/main/java/kr/ac/kumoh/d138/JobForeigner/resume/service/ResumeService.java index 7ad396f0..84ce31ee 100644 --- a/src/main/java/kr/ac/kumoh/d138/JobForeigner/resume/service/ResumeService.java +++ b/src/main/java/kr/ac/kumoh/d138/JobForeigner/resume/service/ResumeService.java @@ -109,13 +109,14 @@ public ResumeResponse updateResume(ResumeRequest request, Long memberId, Long re Resume resume = resumeRepository.findById(resumeId) .orElseThrow(()-> new BusinessException(ExceptionType.RESUME_NOT_FOUND)); + String imageUrl = resumeImageService.getResumeImagePresignedUrl(memberId); if(!resume.getMember().getId().equals(memberId)) { throw new BusinessException(ExceptionType.RESUME_FORBIDDEN); } resume.updateResume( request.resumeTitle(), - request.resumeImageUrl() != null ? request.resumeImageUrl() : resume.getResumeImageUrl(), + imageUrl, request.desiredJobs() != null ? request.desiredJobs().stream().map(DesiredJobRequest::toDesiredJob).collect(Collectors.toList()) : null, @@ -148,8 +149,6 @@ public ResumeResponse updateResume(ResumeRequest request, Long memberId, Long re : null ); - String imageUrl = resumeImageService.getResumeImagePresignedUrl(memberId); - return ResumeResponse.toResumeResponse(resume, imageUrl, MemberProfileResponse.toMemberProfileResponse(resume.getMember(), null)); } diff --git a/src/main/resources/properties b/src/main/resources/properties index 38ec4970..11b82a2a 160000 --- a/src/main/resources/properties +++ b/src/main/resources/properties @@ -1 +1 @@ -Subproject commit 38ec49702a8ccad0c17c10ef20f6e2143c7e3ff5 +Subproject commit 11b82a2a0896e10014297d2e7b1dad832d2973f1