DEV/Etc

Google 간편로그인 등록 (feat. OAuth)

l-eazzy 2023. 7. 22. 21:49

 

 

Google 간편로그인 구현 시,

GCP (Google Cloud Platform)OAuth 관련 등록이 필요합니다.

그 과정에 대한 포스팅을 진행하고자 합니다.

 

0. 관련 포스팅

* OAuth 2.0 개념 정리

* [Spring] 간편로그인 구현하기 (feat. 구글, 카카오)

 

1. GCP 콘솔 접속

a. GCP 사이트 접속

우선 검색창에  GCP 검색을 한 후, Google Cloud Platform 홈페이지에 접속해 줍니다.

 

b. 콘솔 접근

로그인 후, 왼쪽 상단에 콘솔 버튼을 눌러줍니다.

(Google관련 API, 클라우드 서비스, 보안 등의 관련 기능은 콘솔 창에서 사용하게 됩니다.)

 

 

2. 프로젝트 OAuth 설정

a. 프로젝트 설정

왼쪽 상단에 현재 선택된 프로젝트가 표기 되어 있습니다.

새로운 프로젝트로 선택하셔도 되고 기존 사용하던 프로젝트여도 상관 없습니다.

(제 개인 프로젝트 명이랑 아이디가 적혀있어 모자이크 처리하였습니다.)

 

b. 사용자 인증 정보 등록

 

왼쪽 상단에 햄버거(한자 석삼 처럼 생긴거) 아이콘을 누르면 [API 및 서비스] 항목이 있습니다. (없다면 중앙 상단에 검색하시면 됩니다!)

그 중에서 먼저 [사용자 인증 정보] 탭 먼저 보겠습니다.

 

해당 탭에 들어가면 저의 경우 기존 OAuth 2.0. 클라이언트 ID 가 존재하기 때문에 해당 화면처럼 상단에 [사용자 인증 정보 만들기] 버튼이 존재합니다.

버튼을 누르게 되면 [OAuth 클라이언트 ID] 탭이 나오게 되는데 해당 탭을 클릭해줍니다.

 

먼저 첫 화면에서 애플리케이션 유형을 선택해줘야하는데 백엔드 앱으로 구성할 생각이니 [웹 애플리케이션]을 선택해줍니다.

 

 

다음으로 이름을 간단하게 적어준 후,

아래에 보면 [승인된 리디렉션 URL] 항목이 있는데

Authorization Code 를 받을 리디렉션 URL 을 적어주시면 됩니다.

(이 부분은 구글에서 해당 서비스의 인증 역할도 담당하고 있기에 꼭 작성해주셔야합니다!)

 

Spring Boot OAuth Client 에서 기본 디폴트는 {base-url}/login/oauth2/code/{registrationId} 이기 때문에 예시처럼 적어주었습니다.

 

다른 프레임워크를 사용하거나 커스텀하시는 분들은 각 시스템에 맞게 적어주시면 됩니다.

 

 

 

하단에 [만들기] 버튼을 누르고 나면 [클라이언트 ID], [클라이언트 보안 비밀번호]를 발급 받게 됩니다.

만들고 계신 애플리케이션에 정보를 입력해야하니 각 항목을 복사해서 입력해주시면 됩니다.

([사용자 인증 정보] 탭에서도 확인이 가능하니 따로 키를 저장하실 필요는 없습니다.)

 

 

c. OAuth 동의

애플리케이션 등록이 끝났다면 다음으로 OAuth 동의 과정을 진행 합니다.

위에서도 언급했듯이 저의 경우 테스트용으로 미리 만들어두었기에 이미 작성한 데이터가 존재합니다.

처음 설정 하시는 분들은 첫 화면 이외에는 동일하기 때문에 그 다음 부터 따라 오시면 됩니다.

 

기존 작성하신 분들도 수정 시에는 [앱 수정] 버튼을 누르시면 수정이 가능합니다.

 

첫 화면인 OAuth 동의 화면은 작성하기 어렵지 않기 때문에 다음 설정인 범위 부분을 보겠습니다.

[범위(Scope)] 부분은 Resource 서버로 부터 받을 수 있는 정보에 대한 범위를 추가 또는 삭제할 수 있습니다.

 

사용자의 이메일, 프로필 등등 정보를 받고자 하는 범위를 설정하게 되는데,

요즘 개인정보 보호에 민감하기에 기본적으로 받을 수 있는 정보와 검증 후에 받을 수 있는 정보들이 있습니다.

(카카오의 경우 기존 이메일 정보를 받을 수 있게 하다가 서비스 검증 후에 받을 수 있도록 바뀌었습니다.)

 

서비스 구성 시에

OAuth 제공 업체로부터 기본 정보와 그렇지 못한 정보를 구분 한 후, 유저 테이블을 구성해주는 것이 좋습니다.

(예를 들어 email을 유니크 키로 유저 구분을 하였는데, 검증 전에는 주지 못한다 하는 경우가 발생할 수 있음.)

 

이후, 테스트 계정을 설정 하거나 정보 확인 탭이 있지만 이 부분은 쉽게 넘어가실수 있어 스킵하겠습니다.

 

 

[게시 상태] 항목에서 테스트 및에 앱 게시 버튼을 누르게 되면 프로덕트(실 배포) 환경으로 적용 되게 됩니다.

이 부분은 실제 서비스 배포 시에 눌러주시면 됩니다.

 

추가적인 Google 인증 관련 내용은 아래 참고 자료 링크를 이용해주세요!

 

 

3. 참고 자료

 

Google에서 인증  |  Google Cloud

의견 보내기 Google에서 인증 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 문서에서는 일부 키 인증 개념을 이해하고 인증 구현 또는 문제 해결 도움말

cloud.google.com

 

728x90