본문 바로가기
스프링 부트와 AWS

05장. 스프링 시큐리티와 OAuth2.0으로 로그인 기능 구현하기01

by danny-j 2022. 11. 15.

스프링 시큐리티란?

  • 막강한 인증과 인가(혹은 권한 부여)기능을 가진 프레임워크
  • 사실상 스프링 기반의 애플리케이션에서는 보안을 위한 표준
  • 인터셉터, 필터 기반의 보안 기능을 구현하는 것보다 스프링 시큐리티를 통해 구현하는 것을 적극적으로 권장
  • 스프링의 대부분 프로젝트들(Mvc, Data, Batch 등)처럼 확장성을 고려한 프레임워크이다 보니 다양한 요구사항을 손쉽게 추가하고 변경할 수 있음

 

스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트

  • 많은 서비스에서 로그인 기능을 id/pw 방식보다는 구글, 페이스북, 네이버 로그인과 같은 소셜 로그인 기능을 사용
  • 이유는 직접 구현할 경우 배보다 배꼽이 커지는 경우가 많기 때문
  • 직접 구현하면 다음을 전부 구현해야함(OAuth도 해당되는 구현 제외)
    • 로그인 시 보안
    • 회원가입 시 이메일 혹은 전화번호 인증
    • 비밀번호 찾기
    • 비밀번호 변경
    • 회원정보 변경
  • OAuth 로그인 구현 시 위의 목록을 소셜 로그인에 맡기게 되니 서비스 개발에 집중할 수 있음

 

스프링 부트 1.5 vs 스프링 부트 2.0

  • spring-security-oauth2-autoconfigure 라이브러리를 사용할 경우 2.0에서도 1.5에서 쓰던 설정을 그대로 사용할 수 있음
  • 스프링 팀에서 기존 1.5는 더이상 신규 기능은 추가하지 않고 버그 수정 정도의 기능만 추가될 예정, 신규 기능은 새 oauth2 라이브러리에서만 지원하겠다고 선언
  • 1.5 방식에서는 url 주소를 모두 명시해야 하지만, 2.0 방식에서는 client 인증 정보만 입력하면 됨
  • 1.5 버전에서 직접 입력했던 값들은 2.0버전으로 오면서 모두 enum으로 대체 됨

댓글