Google Play Developer API의 인증 토큰은 어떻게 생성하나요?
_____A: Google Play Developer API 인증 토큰(Access Token)은 OAuth 2.0 방식을 통해 생성합니다. 다음은 주요 절차입니다:
1. Google Cloud Console에서 서비스 계정 생성
- Google Cloud Console에 접속하여 프로젝트를 생성하거나 기존 프로젝트 선택.
- ‘IAM 및 관리자’ > ‘서비스 계정’에서 새 서비스 계정을 생성.
- 역할(Role)은 보통 ‘Google Play Android Developer’ 권한을 부여합니다.
- JSON 형식의 키 파일(비공개 키)을 생성 및 다운로드.
2. Google Play Console에 서비스 계정 추가 및 권한 부여
- Google Play Console로 이동하여 ‘설정’ > ‘사용자 및 권한’에서 서비스 계정을 추가.
- 적절한 권한(예: ‘배포 권한’ 등)을 할당.
3. OAuth 2.0 JWT 토큰 생성
- 서버에서 서비스 계정 키(JSON 파일)를 사용해 JWT(JSON Web Token)를 생성.
- JWT 헤더:
```json
{
"alg": "RS256",
"typ": "JWT"
}
```
- JWT 클레임(페이로드):
- `iss`: 서비스 계정 이메일
- `scope`: `"https://www.googleapis.com/auth/androidpublisher"`
- `iat`: 현재 시간(초)
- `exp`: 만료 시간(보통 iat+3600초)
4. 토큰 요청
- JWT를 Google OAuth 2.0 토큰 엔드포인트(`https://oauth2.googleapis.com/token`)에 POST 요청하여 액세스 토큰을 발급받음.
- 요청 파라미터 예:
```
grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
assertion=[생성한 JWT]
```
5. 응답에서 액세스 토큰 획득
- 성공 시 JSON 응답에 `access_token`과 `expires_in` 정보가 포함됨.
- 이 `access_token`을 Google Play Developer API 호출 시 Authorization 헤더에 `Bearer` 타입으로 사용.
---
요약:
- Google Cloud 서비스 계정 생성 및 JSON 키 다운로드
- Google Play Console에 서비스 계정 추가 및 권한 부여
- 서비스 계정 키로 JWT 생성
- OAuth 2.0 토큰 엔드포인트에 JWT 전달해 액세스 토큰 발급
- 발급받은 토큰으로 Google Play Developer API 호출
이 과정은 Google이 제공하는 공식 라이브러리(Google API Client Libraries)를 활용하면 더욱 편리하게 처리할 수 있습니다.
2.0 프로토콜을 사용하여 안전하게 인증을 수행합니다.
아래는 인증 토큰을 생성하는 방법에 대한 자세한 설명입니다.
1. Google Cloud Console에서 프로젝트 생성 1. Google Cloud Console에 로그인 : [Google Cloud Console](https://console.cloud.google.com/)에 로그인합니다.
2. 새 프로젝트 생성 : 상단의 프로젝트 드롭다운 메뉴에서 "프로젝트 만들기"를 선택하고, 프로젝트 이름을 입력한 후 "만들기"를 클릭합니다.
2. Google Play Developer API 활성화 1. API 라이브러리로 이동 : 생성한 프로젝트의 대시보드에서 "API 및 서비스" > "라이브러리"로 이동합니다.
2. Google Play Developer API 검색 : 검색창에 "Google Play Developer API"를 입력하고 해당 API를 선택합니다.
3. API 활성화 : "사용" 버튼을 클릭하여 API를 활성화합니다.
3. 서비스 계정 생성 1. 서비스 계정으로 이동 : "API 및 서비스" > "사용자 인증 정보"로 이동합니다.
2. 서비스 계정 만들기 : "사용자 인증 정보 만들기" 버튼을 클릭하고 "서비스 계정"을 선택합니다.
3. 서비스 계정 정보 입력 : 서비스 계정의 이름과 설명을 입력하고 "만들기"를 클릭합니다.
4. 역할 부여 : "역할 선택"에서 "프로젝트" > "편집자" 또는 "소유자" 역할을 선택합니다.
이 역할은 API에 대한 접근 권한을 부여합니다.
5. 키 생성 : 서비스 계정이 생성된 후, "키 추가" 버튼을 클릭하고 "새 키 만들기"를 선택합니다.
JSON 형식의 키를 선택하고 "만들기"를 클릭하면 JSON 파일이 다운로드됩니다.
이 파일은 나중에 인증에 사용됩니다.
4. Google Play Console에서 서비스 계정 이메일 추가 1. Google Play Console에 로그인 : [Google Play Console](https://play.google.com/console)로 이동하여 로그인합니다.
2. 설정으로 이동 : 왼쪽 메뉴에서 "설정" > "사용자 및 권한"으로 이동합니다.
3. 새 사용자 추가 : "사용자 추가" 버튼을 클릭하고, 이전 단계에서 생성한 서비스 계정의 이메일 주소를 입력합니다.
4. 권한 부여 : 필요한 권한(예: "관리자" 또는 "개발자")을 선택하고 "초대"를 클릭합니다.
5. OAuth
2.0 인증 토큰 요청 이제 서비스 계정과 Google Play Console의 설정이 완료되었습니다.
다음 단계는 OAuth
2.0 인증 토큰을 요청하는 것입니다.
1. JWT 생성 : JSON Web Token (JWT)을 생성합니다.
JWT는 다음과 같은 정보를 포함해야 합니다: - `iss`: 서비스 계정의 이메일 주소 - `scope`: 요청할 API의 범위 (예: `https://www.googleapis.com/auth/androidpublisher`) - `aud`: 토큰을 요청할 URL (예: `https://oauth2.googleapis.com/token`) - `exp`: 만료 시간 (현재 시간 + 1시간) - `iat`: 발급 시간 (현재 시간) JWT는 Base64Url로 인코딩된 헤더, 페이로드, 서명으로 구성됩니다.
2. 서명 : JWT를 생성한 후, 서비스 계정의 비공개 키로 서명합니다.
이 비공개 키는 다운로드한 JSON 파일에서 찾을 수 있습니다.
3. 토큰 요청 : JWT를 사용하여 Google의 OAuth
2.0 토큰 엔드포인트에 POST 요청을 보냅니다.
요청의 본문에는 다음과 같은 정보가 포함되어야 합니다: - `grant_type`: `urn:ietf:params:oauth:grant-type:jwt-bearer` - `assertion`: 생성한 JWT 예를 들어, `curl`을 사용하여 요청할 수 있습니다: ```bash curl -X POST \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=YOUR_JWT" \ https://oauth2.googleapis.com/token ```
4. 응답 처리 : 요청이 성공하면 JSON 형식의 응답이 반환됩니다.
이 응답에는 `access_token`이 포함되어 있으며, 이 토큰을 사용하여 Google Play Developer API에 접근할 수 있습니다.
6. API 호출 이제 인증 토큰을 사용하여 Google Play Developer API를 호출할 수 있습니다.
API 요청 시 `Authorization` 헤더에 `Bearer {access_token}` 형식으로 토큰을 포함시킵니다.
```bash curl -X GET \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ https://androidpublisher.googleapis.com/upload/androidpublisher.edits.insert ``` 결론 Google Play Developer API의 인증 토큰을 생성하는 과정은 여러 단계로 이루어져 있으며, 각 단계에서 주의해야 할 점이 많습니다.
서비스 계정과 Google Play Console의 설정이 올바르게 이루어져야 하며, JWT 생성 및 서명 과정도 정확히 수행해야 합니다.
이 과정을 통해 안전하게 API에 접근할 수 있는 인증 토큰을 생성할 수 있습니다.
작성자:
최지민 [비회원]
| 작성일자: 1년 전
2024-11-29 05:31:57
조회수: 157 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 157 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.