🍏 Spring Boot

[Spring Boot] Google OAuth2 로그인 설정

cosmo225 2025. 4. 14. 22:48

 

오늘은 스프링부트에서 구글 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 작성해서 로컬 실행해 보면

이렇게 연결 완료!