[Spring boot] OAuth(Google) & JWT Login (2) - 자체 로그인 동작 구조
·
Spring boot/Spring security
1. 서론  Spring security의 SecurityContext 객체는 Authentication 객체(사용자 인증 정보)를 가지고 있으며, 이 사용자 인증 정보는 Authentication 객체 안에 UserDetails 또는 OAuth2User(소셜 로그인 시) 객체로 저장된다. 그렇다면 Spring security는 어떠한 내부 프로세스를 가지고 사용자 인증을 진행하는 걸까? 아울러 이는 어떻게 JWT와 연계되는가? 로그인과, 로그인 이후 진행되는 프로세스를 프로젝트 코드와 함께 살펴보자.2. 로그인 시(소셜X)AuthorizingController.java...@Log4j2@RestController@RequiredArgsConstructor@RequestMapping("/api/auth"..
[Spring boot] OAuth(Google) & JWT Login (1) - 프로젝트 기본 구조
·
Spring boot/Spring security
1. 서론  신한DS SW Academy에서 2차 프로젝트를 진행하며 구현했던 인증 및 로그인 파트를 리뷰해보고자 한다. Spring security는 뜯어볼수록 굉장히 치밀하고 정교하게 만들어진 Framework였기에, 처음 공부할 때 그 방대함에 조금은 위축됐었던 것 같다. 다소 부족하지만 서비스 제공을 상상하며 열심히 구현했던, 프로젝트의 해당하는 부분을 샅샅이 톺아보자.2. Authentication/Authorization Flow  자체 플랫폼에 대한 로그인의 경우, 해당 API 서버에서 DB를 통해 사용자를 검증한 후 자체 Access, Refresh Token을 발급한다. 소셜 로그인의 경우, 첫 로그인 요청 시 사용자는 구글 서버로 리다이렉트되고(Google 서버로부터 사용자 정보에 대한..