본문 바로가기

기타/OAuth2 인증

Google OAuth2 인증 일대기의 시작!

구글 OAuth2 인증 심사
어떻게 넣고 왜 통과가 잘 안 될까?



GCP OAuth2 인증법 설명

 

 

 

 

구글에서 제공하는 API를 사용해본 적 있는가? 대부분 API는 구글 OAuth2 토큰을 발급받아야 한다. OAuth2를 발급받아본 사람은 알겠지만 구글에서 토큰을 사용하게끔 허용해주는 과정이 매우 복잡하고 어렵다..(난 1달 동안 20번의 심사를 넣고 20번째에 통과하였다...)

 

 

이번 글의 목표는 내가 20번 실패하면서 어떤 사유로 실패하였는지 일대기를 따라 설명할 예정이다. 구글 심사에 대한 답은 매우 추상적이다. 특히 나의 부서는 모바일 팀인데 건강 API를 사용하기 위해 민감한 정보 사용하기 위해서 구글 핏 쪽 심사를 넣었다. 여기는 답을 구체적인 거 같으면서도 매우 추상적으로 답이 온다. 따라서 OAuth2 심사 일대기를 참고하여 나와 같은 삽질을 안 하고 한 번에 통과했으면 좋겠다.

 

 

 

 OAuth2 심사 기간: 22.4.18 ~ 22.5.18(20번 시도)
 목표: 구글 핏 API를 사용하기 위한 OAuth2에서 민감한 정보 부분 심사(추후에 건강 데이터는 제한된 부분으로 이동 예정)
 결과: 통과
 대상: 회사 모바일 건강 앱 프로젝트
 구글 측 검사 항목: 프로젝트 홈페이지, 프로젝트 앱 녹화 동영상, 개인정보 처리 방침, 민감정보 처리 방침 

 

 

자 이제 시작해보자. 일단 구글 OAuth2 동의 화면으로 이동하는 법에 대해서 간략하게 알려주겠다.  일단 구글에 'gcp'를 검색하여 들어간다. 그리고 아래와 같이 '컨솔' 부분을 클릭한다.

 

 

GCP 컨솔 입장

 

 

그 후에 왼쪽 위 모서리에 있는 부분을 클릭한다. 그 후 API 및 서비스 부분을 클릭한다. 그리고 OAuth2 동의 화면으로 이동한다.

 

 

 

 

 

만약 여기까지 진행했으면 아래와 같은 화면이 나올 것이다. 여기서 '외부'로 설정하고 만들기 버튼을 누른다.

 

 

OAuth2 외부로 설정

 

 

 

 

 

 

그 후 과정부터 매우 중요하다. 앱 이름, 앱 홈페이지, 개인정보처리 방침, 서비스 약관은 기존에 준비하였던 것을 넣으면 될 것이다. 회사 프로젝트이면 이 과정이 미리 이루어졌겠지만 개인 프로젝트이면 개인정보처리방침, 서비스 약관, 앱 홈페이지는 준비가 되지 않았을 것이다. 근데 이 부분을 '개인 프로젝트니깐 구글에서 이해해주겠지?' 라고 생각하면 안 된다. 그 이유는 2화에서 설명하겠지만 구글 심사(구글 핏 

따라서 꼭 개인정보처리방침, 서비스 약관, 앱 홈페이지는 필수적으로 준비하길 바란다.

 

 

개발자 연락처 주소는 구글 심사팀과 소통할 이메일이다. 회사 프로젝트면 리더의 이메일 주소를 넣기 바란다. 우리 팀은 리더가 구글 측으로부터 메일을 받으면 전달하는 방식으로 진행했다. 

 

 

앱 정보의 사용자 정보 이메일은 OAuth2 동의 화면에서 Display Name을 클릭하면 나타나는 이메일 주소이다. 이 부분은 꼭 팀원과 의논하고 기록하기 바란다. 회사 대표 이메일 혹은 프로젝트 대표 이메일을 적는 것을 추천한다.

 

 

이 과정을 마쳤으면 승인된 도메인 페이지로 이동한다. 이 부분은 앱이 아니라 웹페이지와 관련이 있다. 홈페이지를 대표하는 웹페이지 주소를 Google Search Console에 등록해야 하는데, SEO를 접목해 본 경험이 있으면 쉽게 등록할 수 있지만 처음 하는 사람은 매우 복잡한 과정이다.  일단 Search Console로 이동하여 해당 부분을 클릭하고 속성 추가를 클릭한다.

 

 

 

 

속성 추가 버튼에서 URL 접두어를 클릭한다. 그리고 프로젝트에 대한 웹페이지를 등록하여 소유권을 인정받는다.

 

 

도메인 입력 및 URL 등록

 

 

 

이제 OAuth2로 다시 돌아온다. 그리고 범위 단계에서 '범위 추가 또는 삭제'를 클릭한다. 나 같은 경우는 구글 API 중에서 read가 필요하기 때문에 범위 추가 또는 삭제에서 찾아보았지만 보이지 않았다. 따라서 '자세히 알아보기' 하이퍼링크를 클릭하여 'fit'라고 입력하여 찾아서 페이지로 들어갔다. 라이브러리 주소는 https://console.cloud.google.com/apis/library이다. 사용 버튼을 누르면 API 및 서비스에서 사용 설정된 API 및 서비스에 구글핏이 등록된 것을 볼 수 있다.

 

 

Fiteness API 등록

 

 

 

그 후에 새로고침 후 다시 API 및 서비스에서 OAuth2 동의 화면 범위 추가 또는 삭제에 GoogleFit API Read & Write가 생긴 것을 확인할 수 있다.    

 

 

Fitness Api 등록

 

 

그 후 테스트 사용자 페이지이다. 이 페이지는 심사 전까지 테스트를 진행할 계정을 등록하는 부분이다. 구글 핏을 예를 들면 사용자는 앱 사용 처음 1회에 한하여 OAuth2 토큰 발급받는 페이지로 이동한다. 대부분 유저들은 구글 아이디를 여러 개 핸드폰에 들고 있는데 이 페이지에서 등록되지 않은 구글 계정은 토큰 발급이 안 되어 다음 부분이 진행되지 않는다. 100개의 계정만 테스트 시 등록되므로 꼭 주의해서 관리하길 바란다.(추후 테스트 계정 추가는 앱 수정 버튼을 눌러 해결할 수 있다.)

 

 

여기까지 OAuth2 토큰 설정법에 대해서 이야기하였다. 다음번에는 이 과정을 마치고 심사를 넣었을 때 실패했던 이유를 설명할 예정이다. 이 심사는 구글 측에서도 오랜 기간이 걸린다고 한 만큼 깐깐하게 검토한다.(처음 넣을 때는 한 번 심사 넣으면 몇 주 걸리는 줄 알았다... 하지만 20번 심사 넣으면서 몇 주가 걸렸다...)

 

 

'기타 > OAuth2 인증' 카테고리의 다른 글

OAuth2 심사 변경 사항  (0) 2022.06.11