구글 로그인 기능을 추가하기 위해서는 인증 서버에게 토큰을 발급 받아야한다.
구글 클라우드 접속하여 콘솔 접속
[프로젝트 선택] -> [새 프로젝트] 클릭
상단 맨 왼쪽 세줄 메뉴버튼 클릭 후 [API 및 서비스 -> 사용자 인증 정보] 버튼 클릭 후 사용자 인증 관리자 페이지로 이동한다.
사용자 인증 정보를 만들기 위한 OAuth 동의 화면을 구성하기 위해, [동의 화면 구성] 버튼을 누르고 User Type을 외부용으로 선택한 후 [만들기] 버튼을 클릭한다.
앱 이름, 사용자 지정 이메일, 개발자 연락처를 입력하고 [저장 후 계속] 버튼을 눌러 다음으로 진행한다.
범위 설정 화면에서는 [범위 추가 또는 삭제] 버튼을 누르고 openid와 /auth/userinfo.email 점우리를 추가하고 [업데이트] 버튼을 눌러 마무리 한다. 작업을 마치고 [저장 후 계속] 버튼을 누른다.
테스트 사용자는 추가하지 않고 [저장 후 계속] 버튼을 클릭한 후 요약화면을 확인한 후 [대시 보드로 돌아가기]를 눌러 작업을 마친다.
대시보드에서 [사용자 인증 정보 -> 사용자 인증 정보 만들기 -> OAuth 클라이너트 ID]를 순서대로 클릭한다.
애플리케이션 유형은 [웹 애플리케이션], 이름은 원하는 이름으로, 승인된 리디렉션 URI에는 http://localhost:8080/login/oauth2/code/google을 입력한 뒤에 [만들기]를 누른다.
그 뒤에 나오는 클라이언트 ID와 보안 비밀번호는 애플리케이션에서 사용해야 하는 값이므로 따로 메모 해둔다.
OAuth 설정값을 스프링 부트 애플리케이션 설정 파일에서 사용하기 위해 application.yml 파일을 열고 다음 내용을 추가한다.
// resource - application.yml
spring:
~ 생략 ~
security:
oauth2:
client:
registration:
google:
client-id: (발급 받은 클라이언트 ID)
client-secret: (발급 받은 보안 비밀번호)
scope:
- email
- profile
~ 생략 ~