No static resource 에러는 구글 회원가입/로그인 파트를 개발하며 발생한 문제 중에 가장 큰 문제였던 것 같다. 여러 레퍼런스를 참고하며 ‘개발’에만 집중하다보니, 확실하게 Spring Security의 흐름과 OAuth2의 동작 방식을 알지 못한채 이 에러를 마주하게 되어 연쇄적으로 잘못된 코드를 작성하게 되었다.
따라서, 나는 No static resource /api/users/auth/google 에러가 뜨자 무작정 구글링을 했고 잘못된 블로그를 참고하여 /api/users/auth/google(구글에서 인가 코드를 받는 리디렉션 URI)에 대한 컨트롤러를 만들어주었다. 사실 SecurityConfig에 경로만 넣어주면 알아서 리디렉션을 해주는데, 나는 인가 코드를 받고 access token을 리턴해주는 컨트롤러를 만들었고 이로 인해, Spring Security의 흐름을 끊게 되었다. 뿐만 아니라, 클라이언트에게 access token이 노출되게 하는 매우 큰 실수를 범했다.
작성했던 /api/users/auth/google 컨트롤러
@GetMapping("/api/users/auth/google")
public ResponseEntity<SuccessResponse<?>> callback(@RequestParam String code) {
return ResponseEntity.ok(
SuccessResponse.of(userService.getAccessToken(code))
);
}
나는 컨트롤러를 지우고 Spring Security가 OAuth2와 만나 어떻게 동작하는지 찾아보았다.


출처 : 개발자 유미
Spring Security가 OAuth2 인증 과정에서 하는 일
Spring Security와 OAuth2 인증 과정에 대해 알아본 후, 나는 기존에 작성해두었던 /api/users/auth/google 컨트롤러를 지우고 내가 구현해야 하는 부분을 정리해보았다.