학습 목표
- 스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트란
- 스프링 시큐리티와 OAuth 2.0을 구현한 구글 로그인 연동한 로그인 기능 구현
👉 Spring Security는 막강한 인증(Authentication)과 인가(Authorization) 혹은 권한 부여 기능을 가진 프레임워크
👉 Srping 기반의 애플리케이션에서는 보안을 위한 표준이라고 볼 수 있음
👉 Intercepter, filter 기반의 보안 기능을 구현하는 것보다 스프링 시큐리티를 통해 구현하는 것을 적극적으로 권장함
👉 직접 구현할 경우 아래와 같이 품이 많이 들어감
- 로그인 시 보안
- 회원가입 시 이메일 혹은 전화번호 인증
- 비밀번호 찾기
- 비밀번호 변경
- 회원정보 변경
👉 소셜 로그인을 이용하면 위의 기능 구현에 시간을 절약할 수 있으므로 서비스 개발에 집중할 수 있음
💡 세션 저장소 사용 방법의 종류
- 톰캣 세션을 사용한다.
- 기본적으로 선택되는 방식
- 톰캣에 세션이 저장되는 형태로 2대 이상의 WAS 구동시 톰캣 간의 세션 공유 설정 필요
- MySQL과 같은 DB를 세션 저장소로 사용한다. (WAS간 공용 세션을 사용하기 가장 쉬운 방법이나,
- 여러 WAS간 공용 세션을 사용하는 가장 쉬운 방법
- 로그인 시 DB IO 발생하므로 성능 이슈 발생 가능성 있음
- 백오피스, 사내 시스템 용도에서 사용 多
- Redis, Memcached와 같은 메모리 DB를 세션 저장소로 사용
- B2C 서비스에서 가장 많이 사용
- Embedded Redis와 같은 방식이 아닌 외부 메모리 서버가 필요