[Spring Boot] Google OAuth2 로그인 설정
오늘은 스프링부트에서 구글 oauth2 로그인 설정하는 법을 적어보려고 한다!
🍞 구글 콘솔 설정
우선 구글 클라우드 콘솔에 접속해 준다.
https://console.cloud.google.com/welcome?invt=AbuvCw&organizationId=0
Google 클라우드 플랫폼
로그인 Google 클라우드 플랫폼으로 이동
accounts.google.com
여기서 프로젝트 선택 -> 새 프로젝트 생성 을 하고
구글 로그인을 위한 프로젝트를 하나 만든다.
왼쪽 메뉴를 열고 api 및 서비스 -> 사용자 인증 정보 -> 동의 화면 구성을 클릭!
그럼 아무것도 없다고 뜰 텐데 생성을 해 준다.
앱 정보에는 간단하게 이름이랑 내 이메일 선택하면 되고
다음 대상은 외부로 해 준다!
그 다음도 내 이메일 입력하고 동의하고 만들기 클릭
그러면 이런 빈 화면으로 이동하는데
여기서 다시 api 및 서비스 -> 사용자 인증 정보 에 들어가서
사용자 인증 정보 만들기 -> OAuth 클라이언트 ID 를 선택한다.
여기서 웹 애플리케이션을 선택하고,
아래에 승인된 리디렉션 URI를 추가해야 하는데
스프링 시큐리티에서 기본적으로 http://localhost:8080/login/oauth2/code/google 이 링크에 대한 리다이렉트를 지원하고 있다. 그래서 일단은 개발 중이니 여기로 연결하고, 나중에 배포를 하면 다시 리다이렉트될 곳으로 수정해 주면 된다.
이제 스프링부트 설정으로 넘어오자...
🍞 스프링부트 설정
build.gradle 파일에 다음과 같은 의존성을 추가한다.
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
application.yml 파일은 이렇게 수정한다.
spring:
security:
oauth2:
client:
registration:
google:
client-id: ${GOOGLE_CLIENT_ID}
client-secret: ${GOOGLE_CLIENT_SECRET}
scope:
- email
- profile
나는 환경변수로 사용하려고 한다.
그리고 간단한 html 작성해서 로컬 실행해 보면
이렇게 연결 완료!