본 포스팅은 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 보고 작성하였음

1. 스프링 부트 2.0 기반의 OAuth 2.0

1.1 OAuth 2.0란?

  • 예시로 만약 로그인 기능을 직접 구현할 경우 로그인 및 회원가입 등등의 기능이 필요하게 됨 but, OAuth 2.0을 사용한다면 대분의 로그인, 개인정보 관리 책임을 Google, Facebook, Kakao 등에게 위임할 수 있음

1.2 스프링 부트 2.0으로 사용하는 이유

  • 스프링 팀에서 기존 1.5에서 사용되던 Spring-security-oauth 프로젝트는 유지 상태(maintenance mode)로 결정했으며 더는 신규 기능은 추가하지 않고 버그 수정 정도의 기능만 추가될 예정, 신규 기능은 새 oauth2 라이브러리에서만 지원 하겠다고 선언
  • 스프링 부트용 라이브러리(starter) 출시
  • 기존에 사용되던 방식은 확장 포인트가 적절하게 오픈되어 있지 않아 직접 상소가거나 오버라이딩 해야 하고 신규 라이브러리의 경우 확장 포인트를 고려해서 설계된 상태
  • CommonOAuth2Provider라는 enum이 새롭게 추가되어 구글, 깃허브, 페이스북, 옥타(Okta)의 기본 설정 값은 모두 제공해주므로 따로 설정할 필요 없음

2. 구글 서비스 등록 (책 P.166 ~ P.173)

2.1 구글 클라우드 플랫폼에 신규 프로젝트 생성

2.2 사용자 인증 정보 등록

2.3 프로젝트에 properties 추가

  • 스프링 부트에서는 properties의 이름을 application-xxx.properties 로 네이밍하여 만들면 xxx라는 이름의 profile이 생성되어 관리 할 수 있음, 즉 profile=xxx라는 식으로 호출하면 해당 properties의 설정들을 가져올수 있음
  • 해당 책에서는 스프링 부트의 기본 설정 파일인 application.properties에서 application-oauth.properties를 포함하도록 구성


  • .gitignore 등록
    • 구글 로그인을 위한 client Id와 client secret pw는 보안에 중요함ㄴ
    • 깃에 해당 정보가 올라가지 않도록 방지해야함
profile
고우고우~

0개의 댓글