왜 소셜 로그인을 사용하는가?
직접 로그인 시스템을 구현할 경우 → [로그인 시 보안, 회원가입 시 이메일 혹은 전화번호 인증, 비밀번호 찾기/변경, 회원정보 변경]을 추가적으로 개발해줘야하고, 상당히 부담이 된다.
⇒ 따라서, 서비스 개발에 좀 더 집중할 수 있도록 이미 잘 개발된 시스템을 차용해 사용하는 것.
Oauth2 연동 방법
연동 방법이 변화해도, spring-security-oauth2-autoconfigure
라이브러리 덕분에 설정 방법 그대로 사용 가능
spring-security-oauth2-autoconfigure 라이브러리 사용했는지
applicaiton.properties 혹은 application.yml 정보 확인
스프링 1.5 : url 주소 모두 명시함
스프링 2.0 : client 인증 정보만 입력
(∵ 새로 추가된 enum으로 인해 구글, 깃허브, 페이스북, 옥타의 기본 설정 값 제공 받음 ⇒ 그 이외 경로로 소셜 로그인은 설정 값 추가로 입력이 필요하다)
clientId, clientSecret
: 인증 정보 발급 받아야 → 로그인 기능, 소셜 서비스 기능 사용 가능
인증 정보 발급 받는 곳(구글 클라우드 플랫폼) : https://console.cloud.google.com
클라우드 플랫폼에 신규 프로젝트 생성
: 새 프로젝트 생성 후, API 및 서비스 > 사용자 인증 정보 > 사용자 인증 정보 만들기 > OAuth 클라이언트 ID > OAuth 동의 화면 구성
사용자 인증 정보 만들기
: API 및 서비스 > 사용자 인증정보 > 사용자 인증정보 만들기 > OAuth 클라이언트 ID 만들기