안녕하세요! 오늘도 코딩의 늪에서 허우적대고 계실 여러분을 위해, '구글 API 연동'의 첫 관문이자 가장 큰 고비인 OAuth 2.0 토큰 발급법을 들고 왔습니다. 솔직히 말씀드릴게요. 저도 처음엔 '아니, 그냥 아이디 비밀번호로 로그인하면 안 돼?'라고 생각했답니다. 하지만 보안의 세계는 냉정하죠! 오늘 저와 함께 차근차근 따라오시면, 복잡해 보이던 구글 클라우드 플랫폼(GCP)도 아주 귀여운 강아지처럼 다루실 수 있을 거예요. 자, 준비되셨나요?
- 구글 클라우드 플랫폼(GCP)에서 프로젝트 생성과 OAuth 동의 화면 설정은 필수!
- 인증 코드(Code)를 먼저 얻고, 이를 통해 액세스 토큰(Access Token)을 교환하는 2단계 방식입니다.
- 리프레시 토큰(Refresh Token)을 받고 싶다면 'prompt=consent' 파라미터를 꼭 기억하세요.
1. 구글 클라우드 플랫폼(GCP) 세팅하기
가장 먼저 우리들의 놀이터, GCP 콘솔에 접속해야 합니다. 로그인하신 후 왼쪽 상단 프로젝트 선택창에서 '새 프로젝트'를 만들어주세요. 프로젝트 이름은 여러분이 알아보기 쉬운 것으로 정하면 됩니다. (예: My-Awesome-Calendar-App)
OAuth 동의 화면 구성 (가장 중요!)
2. OAuth 클라이언트 ID 발급받기
이제 열쇠를 복사할 차례입니다. '사용자 인증 정보 > 사용자 인증 정보 만들기 > OAuth 클라이언트 ID > OAuth 클라이언트 만들기'를 클릭하세요.
애플리케이션 유형은 '웹 애플리케이션'으로 선택하고, 가장 중요한 '승인된 리디렉션 URI'에 여러분의 리턴 주소(예: http://localhost:8080/test)를 입력해 줍니다.
3. 인증 코드(Code)와 액세스 토큰 획득 절차
이제 실제 데이터를 주고받기 위한 5단계 프로세스를 알려드릴게요. 포스트맨(Postman)을 준비하시면 더 편하게 테스트할 수 있습니다.
- 인증 URL 생성:
https://accounts.google.com/o/oauth2/v2/auth?scope=...&client_id=...형태의 URL을 만들어 브라우저에 입력합니다. - 사용자 로그인:
구글 로그인 창이 뜨면, 아까 등록한 테스트 계정으로 로그인하고 권한을 승인합니다. - 코드 확인:
리디렉션된 URL 뒤에 붙은code=4/0Ad...부분을 복사하세요. 이 코드는 일회용입니다! - 토큰 교환:
POST 방식으로 구글 토큰 엔드포인트에code,client_id,client_secret등을 실어 보냅니다. - 성공:
드디어access_token과refresh_token을 손에 넣었습니다! 축하드려요!
💡 리프레시 토큰이 안 나와서 당황하셨나요?
액세스 토큰은 1시간이면 만료됩니다. 그래서 우리는 '리프레시 토큰'이 꼭 필요하죠. 만약 응답값에 리프레시 토큰이 없다면, 첫 인증 URL을 만들 때 access_type=offline과 prompt=consent 파라미터를 꼭 추가해 보세요. 사용자가 명시적으로 다시 동의해야 구글이 리프레시 토큰을 던져준답니다.
자주 묻는 질문 (FAQ)
자, 이제 구글의 데이터 금고를 열 수 있는 황금 열쇠를 손에 넣으셨습니다! 처음엔 조금 복잡해 보여도 한 번 성공하고 나면 익숙해지실 거예요. 이 글이 여러분의 개발 시간을 단 10분이라도 줄여드렸다면 저는 행복합니다. 혹시 하시다가 막히는 부분이 있으면 언제든 댓글 남겨주세요! 그럼 오늘도 즐거운 코딩 하세요! 안녕! 👋
[이 글은 정보 제공 목적이며 구글 서비스의 업데이트에 따라 절차나 UI가 변경될 수 있습니다. 실제 구현 시 공식 문서를 병행 확인하시기 바랍니다.]