0️⃣ 프로젝트 환경Spring Boot 2.7GradleJava 11, JPARest APISpring Security : Oauth 관련 라이브러리는 사용하지 않았습니다.Oauth2 서버 : Google, Naver, Kakao✔️ 들어가기 앞서Spring Securtiy를 사용했지만 Oauth와 관련된 라이브러리는 사용하지 않았습니다.Spring Security의 기능으로 구현한다면 더 쉽게 구현할 수 있지만, 저는 순수 구현을 통해 Oauth를 이해하는 것을 목표로 하였습니다.추후에 또 Oauth를 구현한다면 관련 Security 라이브러리를 사용해 이해했던 것을 바탕으로 수월하게 구현할 수 있을 것 같습니다.즉, 이 글은 Spring Security에 의존해 Oauth를 구현하는 글이 아닙니다...
로그인
앞에서 살펴본 내용은 인증이 필요한 API가 요청되었을때, Spring Security와 JWT Filter가 어떻게 Access Token으로 인증을 처리하는지 알아보았습니다.이젠 인증이 필요없지만 토큰 관리에 있어서 가장 중요한 로그인과 로그아웃의 로직에 대해 알아보겠습니다.1️⃣ 로그인✔️ API 컨트롤러@PostMapping("/login")public ResponseEntity login(@RequestBody @Valid AuthRequest.LoginRequest request){ TokenResponse tokenResponse = authService.login(LoginDto.from(request)); return ResponseEntity.ok().body(tokenRespon..
인증/인가 로직을 구현 할 때, 모든 기능을 직접 구현하는 것보다 Sprign security를 사용하면 간편하게 구현이 가능합니다.저는 인가로직은 사용하지 않았고, Spring Security환경에서 JWT를 사용해 인증 로직을 어떻게 구현했는지 과정을 기록하려고 합니다. 0️⃣ 프로젝트 환경Spring Boot 2.7GradleJava 11, JPARest API✔️ 로그인 설계개인 서버를 이용하는 로그인일반 회원 로그인 / 관리자 로그인oauth 서버를 사용하는 로그인kakao 로그인/ google 로그인 / naver 로그인일반 회원과 관리자는 개인 서버, 즉 우리의 DB를 사용하기 때문에 인증/인가에 대한 보안 전략이 필요합니다.이 때 아이디/패스워드와 같은 민감한 회원 정보를 다루는 방법으로,..