문서 검색

GCP 인증과 Play API 설정

Serverpod로 Google 로그인을 처리할 때 필요한 OAuth 클라이언트와 Google Play 배포 자동화 권한을 구분해 설정합니다.

마지막 확인:
목차

Firebase 초기화를 마친 뒤 같은 Google Cloud 프로젝트에서 인증과 배포 API를 설정합니다. 앱 사용자 로그인용 OAuth와 배포 자동화용 서비스 계정은 목적과 권한이 다릅니다.

준비물

Firebase와 연결된 Google Cloud 프로젝트, 앱의 배포 도메인·콜백 경로, 서버 비밀 저장소와 Play Console 권한을 준비합니다.

단계

  1. Google 로그인용 브랜딩·범위·OAuth 클라이언트를 설정합니다.
  2. 서버 비밀과 플랫폼 구성을 연결해 로그인을 검증합니다.
  3. 배포용 Play Developer API와 서비스 계정 권한을 준비합니다.

Google 로그인 설계

Bottari FX는 Google·Apple 인증 결과를 Serverpod IDP가 검증하고 서버 세션을 발급하는 구조를 선택했습니다. Firebase Authentication은 Phone OTP에 사용하며 Google 제공자를 켜는 것으로 서버 로그인 설정을 대신하지 않습니다.

  1. Google Auth Platform의 브랜딩에서 앱 이름·지원 연락처·홈페이지·개인정보처리방침·약관을 확인합니다.
  2. 대상 사용자를 정합니다. 외부 사용자 서비스에서는 테스트 대상과 프로덕션 공개 상태를 구분합니다. 공개 상태가 브랜드 검증 완료를 의미하지는 않습니다.
  3. 데이터 액세스에서 로그인에 필요한 openid, 이메일, 프로필 범위를 설정합니다.
  4. 클라이언트에서 웹 OAuth 클라이언트를 생성하고 승인된 JavaScript 원본과 리디렉션 URI를 등록합니다.
  5. Android 클라이언트는 패키지 이름과 서명 인증서를, Apple 클라이언트는 Bundle ID 및 앱 콜백 구성을 대조합니다.

기본 로그인 범위 저장을 확인한 화면

Bottari FX 웹 원본은 https://bottarifx.com, 콜백은 https://bottarifx.com/app/auth.html로 설정했습니다. 다른 앱은 실제 배포 경로와 사용하는 인증 라이브러리에 맞는 값을 입력해야 합니다. 슬래시와 경로가 달라도 콜백 검증이 실패할 수 있습니다.

서버와 앱 연결

서버 클라이언트 비밀은 서버 비밀 저장소에 보관하고 런타임에 주입합니다. 앱에는 필요한 공개 클라이언트 ID만 전달합니다. 설정 파일을 만든 것, 서버에 배포한 것, 실제 기기에서 로그인에 성공한 것을 따로 확인합니다.

로그인 사용자가 Phone OTP를 완료할 때는 현재 서버 사용자에게 번호를 연결합니다. 이미 다른 계정에 연결된 번호를 임의로 옮기지 않습니다. 비로그인·차단 사용자·계정 충돌·로그아웃을 검증합니다.

Bottari FX의 Google 로그인 구성과 서버 코드 준비 기록은 있으나, 이 문서 작성 시점에 운영 배포 후 실기기 로그인 성공은 확인되지 않았습니다.

Play Developer API

  1. Google Cloud에서 Google Play Developer API를 활성화합니다.
  2. 배포 전용 서비스 계정을 만듭니다.
  3. Play Console → 사용자 및 권한에서 서비스 계정 이메일을 초대하고 대상 앱의 테스트 배포에 필요한 권한을 부여합니다.
  4. CI에 인증 방법을 연결합니다. 개인 계정 비밀번호 대신 서비스 계정 자격 증명이나 지원되는 단기 인증을 사용합니다.
  5. 기존 트랙 조회 → 새 빌드 업로드 → 내부 테스트 출시 → 결과 재조회 순으로 검증합니다.

API 활성화와 서비스 계정 생성만으로 Play 앱 접근 권한이 생기지는 않습니다. 현재 공식 안내에서는 개발자 계정과 GCP 프로젝트의 별도 연결이 필수는 아니며, GCP API 활성화와 Play Console 권한 부여가 필요합니다.

Bottari FX는 API 활성화와 서비스 계정 생성까지 기록되어 있습니다. Play 권한·CI 인증·자동 배포 성공은 후속 확인 대상입니다. 첫 수동 출시는 내부 테스트 절차를 따릅니다.

Apple 등록을 기다리는 동안

Apple 조직 등록에서 법적 계약 서명 권한을 확인 중이라면 안내 이메일을 기다립니다. Apple은 이 단계의 완료 시간을 고정 기한으로 보장하지 않습니다. 신청 내용과 연락처를 확인하고 지연되면 등록 문의로 상태를 확인합니다.

승인 전에는 실제 Team ID·Sign in with Apple 키·APNs 키를 임의 값으로 채워 운영 완료로 표시하지 않습니다. Google·Android 설정과 공통 앱 코드는 계속 준비할 수 있습니다.

확인

OAuth 클라이언트의 플랫폼·식별자·콜백을 대조하고 운영 앱으로 로그인합니다. Play API는 서비스 계정으로 대상 앱의 내부 트랙을 조회해 권한을 확인합니다. 설정 저장만으로 실제 연동 성공을 표시하지 않습니다.

자주 겪는 문제

API를 켰는데 Play 앱에 접근할 수 없어요.

Google Cloud IAM과 Play Console 앱 권한은 별도입니다. 서비스 계정 이메일의 대상 앱 접근 권한을 확인하세요.

다음 단계

Android 내부 테스트에서 실제 빌드 업로드와 설치를 진행하세요.

출처