예시로 만약 로그인 기능을 직접 구현할 경우 로그인 및 회원가입 등등의 기능이 필요하게 됨 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를 포함하도록 구성