[Spring Boot] Google OAuth2.0 #1

Yujeong·2024년 3월 3일
post-thumbnail

1. Google Cloud Console에서 프로젝트 생성

Gloud APIs | Google Cloud에서 프로젝트를 생성해준다.

1-1. 새 프로젝트 클릭

1-2. 프로젝트 이름, 프로젝트 ID를 작성하고 만들기 클릭
프로젝트 ID는 default로 생성해준다.

1-3. OAuth 동의 화면 구성 클릭

1-4. 외부 선택하고 만들기

1-5. 앱 이름, 이메일 등을 입력하고 저장 후 계속 클릭

1-6. 범위 추가 또는 삭제 클릭 > "email, profile, openid" 선택하고 업데이트 클릭 > 저장 후 계속

1-7. +ADD USERS 클릭 > 이메일 입력하고 추가 클릭 >저장 후 계속

1-8. 사용자 인증 정보 탭으로 이동 > + 사용자 인증 정보 만들기 클릭 > OAuth 클라이언트 ID 클릭

1-9. 애플리케이션 유형, 이름, 승인된 리디렉션 URI 입력하고 만들기

1-10. 클라이언트 ID, 클라이언트 보안 비밀번호가 생성된다.

2. build.gradle

dependencies {
	...
	implementation group: 'org.springframework.boot', name: 'spring-boot-starter-oauth2-client', version: '3.2.2'
	implementation group: 'com.auth0', name: 'java-jwt', version: '4.4.0'
    ...
}

3. application.yml

  • scope를 profile, email만 입력한 이유: 구글은 기본으로 openid, email, profile이 scope로 지정되어 있다. openid 때문에 구글은 oauth2 방식을 사용하지 않고, oidc를 사용해서 CustomOAuth2UserService를 타지 않는 문제가 있다.
spring:
  profiles:
    active: local

  security:
    oauth2:
      client:
        registration:
          google:
            client-id: ${GOOGLE_CLIENT_ID}
            client-secret: ${GOOGLE_CLIENT_SECRET}
            scope:
              - email
              - profile

3-1. resources/config/local-config.properties

GOOGLE_CLIENT_ID=your client id
GOOGLE_CLIENT_SECRET=your client secret
profile
공부 기록

0개의 댓글