2026년 구글 클라이언트 ID를 얻는 방법

2026년 구글 클라이언트 ID를 얻는 방법: 2026년 가이드

2026년 OAuth 2.0 및 Google Sign-In을 위한 구글 클라이언트 ID 설정을 마스터하세요. 구글 클라우드에서 클라이언트 ID를 생성, 관리 및 효과적으로 사용하는 방법을 알아보세요.

마틴 도나디우

마틴 도나디우

콘텐츠 마케터

2026년 구글 클라이언트 ID를 얻는 방법: 2026년 가이드

당신은 구글 시그니인을 빠르게 통합할 수 있을 것이라고 생각했을 것이다. 그러나 하나의 앱 유형이 클라이언트 시크릿을 제공하고 다른 하나는 제공하지 않는 이유를 이해하기 위해 자격 증명 화면을 보면서 당황하고 있을 것이다. 그 혼란은 특히 Capacitor, 이온, 전자, 또는 혼합 웹 및 네이티브 스택으로 빌드하는 경우 일반적이다.

실제 구현을 깨는 부분은 대부분의 가이드가 생략하는 부분입니다. __CAPGO_KEEP_0____CAPGO_KEEP_1__ __CAPGO_KEEP_2__ Google Client IDs는 플랫폼에 따라 다르며

웹 앱이 아닌 다른 종류의 앱은

Google 생태계와 앱을 연결하는 방법

많은 팀이 이 문제를 동시에 겪는 경우가 있습니다. 그들은 구글과 로그인, 또는 사용자가 드라이브나 캘린더와 같은 것에 접근 허용을 원할 때, API 키가 suddenly 더 이상 충분하지 않습니다.

사용자 로그인 및 위임된 접근이 OAuth를 통해 작동하기 때문입니다. 구글은 앱을 식별할 수 있는 방법이 필요합니다. 그것은 __CAPGO_KEEP_0__가 호출되는 것만 아니라 앱 자체를 식별하는 구글 클라이언트 ID입니다., not just the API being called. The credential that does that is the 실용적인 OAuth 설정은 일반적으로 몇 가지 구현 질문으로 귀결됩니다..

어떤 애플리케이션 유형을 생성해야 하는지

클라이언트 시크릿이 필요할지 여부

  • redirect URI 또는 origin이 정확히 일치해야 하는지
  • 모바일 및 웹 흐름을 혼합하지 않고 인증서를 연결하는 방법
  • redirect URI 또는 origin이 정확히 일치해야 하는지
  • 모바일 및 웹 흐름을 혼합하지 않고 인증서를 연결하는 방법
  • 웹 브라우저에서 작동하는 흐름이 네이티브 래퍼 내에서 실패하는 이유는 무엇인가요?

실용적인 규칙: 사용자 권한이나 로그인 요청을 하는 앱이면 OAuth 클라이언트 타입을 먼저 생각하세요. API 키보다는.

이 차이점은 시간을 절약하고, 웹 인증서만으로 모바일 로그인 흐름을 구축하는 일반적인 오류를 방지합니다. Capacitor 앱에서 이 기능을 구현하는 경우, 앱 내 흐름을 위한 "OAuth2 in Capacitor apps" 가이드는 유용한 동반자입니다. OAuth2 in Capacitor apps Google OAuth 2.0 클라이언트 ID는 Google 인증 시스템 내에서 애플리케이션의 공개 식별자입니다. Google은 액세스 토큰을 요청할 때 인증 엔드포인트에서 애플리케이션의 신원을 확인하기 위해 토큰 교환 중에 사용되는 고유 사용자 이름으로 설명합니다. 또한 __CAPGO_KEEP_0__ 키와 구별하여 설명합니다.

Google Cloud의 OAuth 클라이언트 문서에서 설명한 바와 같이, Google Client ID는 애플리케이션의 고유 식별자와 보안层입니다.

Google Client ID는 애플리케이션의 고유 식별자와 보안层입니다. Google Client ID는 애플리케이션의 고유 식별자와 보안层입니다. is the public identifier for your application in Google’s auth system. Google describes it as the unique username for an application when requesting access tokens from Google authentication endpoints, and notes that it’s distinct from API keys because it’s used in OAuth flows to verify the app’s identity during token exchange, as explained in Google Client ID는 애플리케이션의 고유 식별자와 보안层입니다..

Google Client ID는 애플리케이션의 고유 식별자와 보안層입니다.

간단한 마음의 모델

Capacitor를 사용하는 개발자라면 Capgo를 이미 알고 있을 것입니다. 클라이언트 아이디 Google 애플리케이션의 문제 public 사용자 이름.

Google은 이 요청이 이 등록된 애플리케이션에서 오고 있는지 알려줍니다. 이는 로그인, 동의, 토큰 교환, 사용자 대신 앱이 행동하는 모든 흐름에서 중요합니다. 클라이언트 ID는 앱과 Google의 인증 서버 모두에서 참조할 수 있도록 설계되었습니다.

이러한 자격 증명은 사람들이 혼동하는 이유 중 하나입니다. 이 자격 증명은 두 가지 다른 개념과 함께 위치하고 있기 때문입니다.

클라이언트 ID OAuth 앱을 식별합니다.
API 키 프로젝트를 특정 API 호출에 대해 식별하는 데 사용되며, 이러한 호출은 사용자 인증을 위임하지 않는다.
클라이언트 비밀 키 은 안전하게 비밀을 보관할 수 있는 흐름 및 앱 유형에서만 사용되는 비밀의 대가이다.

많은 깨진 통합은 누군가가 이들을 동일한 것으로 다루기 시작할 때 시작된다. 그들은 아니다.

구글 클라이언트 아이디가 실제로 어디에 위치하는지

이용할 필요가 있다면 구글로 로그인 또는 한 번에, 클라이언트 아이디는 인증 핸드 셰이크를 시작하기 위해 프론트 엔드가 사용하는 값이다. 구글의 문서에도 앱이 특정 Cloud Console 프로젝트에 등록되어 있어야 인증 정보를 생성할 수 있으며 웹 앱은 구성된 권한 있는 자바 스크립트 원본 또는 전체 스킴 및 호스트 이름을 포함한 리다이렉트 URI가 필요하다고 언급하고 있다.

이것이 왜 설정이 단순한 키를 생성하는 것보다 더 엄격하게 느껴지는지 이유이다. 구글은 단순히 접근을 허용하는 것이 아니라 인증 요청을 알려진 앱 식별자와 결합하는 것이다.

하이브리드 앱을 개발하는 팀에게는 가장 안전한 정신 모델은 다음과 같다:

  • 클라이언트 아이디를 앱을 식별하는 데 사용하라
  • consent 화면을 사용하여 사용자에게 앱을 대표하라
  • 올바른 앱 유형을 사용하여 비밀을 흐름에 속하는지 여부를 결정하십시오.

앱 식별성과 위임된 접근 권한이 어떻게 함께 작동하는지 더 넓은 개요를 원한다면 앱 인증에 대한 이 안내서 이것은 좋은 리프레셔입니다.

클라이언트 ID를 만들고 보는 방법

콘솔 경로가 변경되었습니다. 개발자는 종종 잘못된 곳에 있다고 생각합니다. 그러나 그들은 일반적으로 그렇지 않습니다. Google은 현재 이러한 자격 증명에 대한 두 가지 탐색 경로를 노출하고 있습니다: 더 새로운 Google Auth Platform > 클라이언트 경로와 더 오래된 APIs & Services > 자격 증명 경로, Google의 설정 문서.

Google Cloud 콘솔에서 OAuth 2.0 클라이언트 자격 증명을 만드는 데 사용하는 laptop에 키보드를 입력하는 사람을 보여주는 사진.

Start in the right console area

Google Cloud Console에서 프로젝트를 선택하거나 만들고, 인증 설정을 소유할 프로젝트를 선택하세요. 인증 설정을 여러 프로젝트에 흩어지게 하면 추후 감사 및 지원이 고통스러울 것입니다.

그 다음, 다음 중 하나로 이동하세요.

  1. Google Auth Platform > Clients
  2. APIs & Services > Credentials

팀이 다른 네비게이션 레이블을 보는 경우, 예상하십시오. Google은 인증 설정을 나머지 API 인증 정보 표면에서 분리하고 있습니다.

인증 정보를 생성할 때 자신을 제한하지 마세요.

OAuth 클라이언트를 새로 만들 때 가장 큰 결정은 애플리케이션 유형입니다. Google은 특정 유형을 선택하도록 요청합니다. 예를 들어 Web, Android, iOSor Desktop. 이 선택은 단순히 외관을 바꾸기 위한 것이 아니다. 앱의 식별과 필요한 지원 구성이 정의된다.

웹 앱의 경우 다음 값을 입력할 수 있다.

  • 인증된 자바스크립트 원본
  • 인증된 리다이렉션 URI

이 값은 정확해야 한다. 웹 자격 증명에 대한 Google의 경우 scheme 및 호스트 이름이 포함된 전체 형식, 예를 들어 https://www.example.com를 기대한다. 대략적인 도메인 개념이 아닌

모바일 플랫폼의 경우 형태가 다르다. Android 등록에는 패키지 수준의 소유권 확인이 필요하며 iOS는 플랫폼 식별자만 사용한다. Google 인증을 다른 인증層과 결합하는 경우 Capgo에서 Supabase와의 Capacitor 소셜 로그인 설정이 이러한 조각들이 어떻게 함께 작동하는지 유용한 예시이다. is a useful example of how these pieces often fit together.

이 walkthrough은 UI를 비교하기 위해 클릭하는 동안 사용할 수 있는 합리적인 시각적 참조입니다.

이것을 나중에 찾는 방법

생성 후, 클라이언트 ID는 프로젝트의 자격 증명 목록에 나타납니다. 동일한 프로젝트 공간은 팀이 API를 활성화하고 OAuth 식별성이 동의 화면에 연결되는 방법도 볼 수 있습니다. 등록된 애플리케이션 이름은 사용자가 허가 요청 중에 볼 수 있는 이름입니다. 이는 앱 이름을 정확하게 지정하는 이유 중 하나입니다.

Google은 이러한 자격 증명을 시간이 지남에 따라 관리할 수 있도록 합니다. 대시보드에 다시 돌아가서 클라이언트 ID를 복사하고 설정을 검토하고, 해당 자격 증명과 관련된 클라이언트 시크릿을 관리할 수 있습니다.

동의 화면은 장식이 아닙니다. 그것은 신뢰 경계의 일부입니다. 사용자는 애플리케이션 이름을 볼 수 있습니다. 내부 프로젝트의 별명이 아니라.

플랫폼별 클라이언트 ID 구성

Google 로그인 설정을 깨트리기 가장 빠른 방법은 하나의 클라이언트 ID가 모든 플랫폼을 커버할 수 있다고 가정하는 것입니다. 그러나 그것은 할 수 없습니다. 다중 플랫폼 앱의 경우, 각 플랫폼은 자신의 고유한 OAuth 2.0 클라이언트 ID를 등록해야 하며, Android 설정은 SHA1 지문이 소유권을 확인하기 위해 필요하다는 것을 주의해야 합니다. 이 플랫폼 설정 참조.

왜 하나의 앱이 여러 클라이언트 ID가 필요하는가

사용자는 하나의 앱을 보지만 Google에선 여러 OAuth 클라이언트입니다.

A 웹 앱안정성 속성을 동일하게 제공하지 않습니다. 동일한 방식으로 신원을 증명하지 않으며, 신뢰할 수 있는 환경에서 모든 인증 정보를 저장하지 않습니다. Google은 각 플랫폼에 독립된 앱 등록 모델을 제공하여 이를 해결합니다. Android 빌드iOS 빌드 데스크톱 앱인증 정보를 신뢰할 수 있는 환경에서 저장하지 않습니다. 각 플랫폼의 인증 정보 설정이 취약하거나 잘못 구성된 경우 다른 플랫폼이 자동으로 노출되지 않습니다. 다음은 실제적인 분리를 따르는 방법입니다:

웹 클라이언트 ID와 엄격한 원본 및 리다이렉션 URI 매칭을 사용합니다.

  • Android iOS
  • Desktop App __CAPGO_KEEP_0__을 사용하는 Android 클라이언트 ID는 패키지 식별성과 SHA1 지문에 묶어져 있습니다.
  • __CAPGO_KEEP_0__ __CAPGO_KEEP_0__를 사용하는 iOS 클라이언트 ID는 앱의 번들 식별성과 묶어져 있습니다.
  • Desktop or Electron __CAPGO_KEEP_0__는 설치된 OAuth 패턴이나 데스크톱 스타일의 패턴을 사용하는 데스크톱 클라이언트를 자주 사용합니다.

__CAPGO_KEEP_0__ ID 유형 비교

응용 프로그램 유형 기본 식별자 클라이언트 시크릿 제공 여부 주요 사용 사례
Web 인증된 JavaScript 원본 및 리다이렉션 URI 일반적으로 yes 브라우저 앱과 백엔드 지원 웹 OAuth
안드로이드 패키지 식별자와 SHA1 지문 많은 경우 no 네이티브 안드로이드 로그인
iOS 앱 번들 식별자 많은 경우 no 네이티브 아이폰 및 아이패드 로그인
데스크톱 설치된 앱 식별자 가끔은 데스크톱 앱, Electron-style 네이티브 흐름 포함

모바일 및 데스크톱에서 클라이언트 비밀의 역설

이것은 많은 튜토리얼이 틀린 부분입니다.

모바일 및 데스크톱 개발자들은 종종 OAuth 클라이언트가 클라이언트 ID와 클라이언트 비밀을 모두 포함하는 것으로 기대합니다. 그들은 콘솔에서 비밀을 볼 수 있는 유일한 방법이 웹 애플리케이션 자격증서를 만들기 때문에 그렇게합니다. 흐름이 더 완전해 보이기 때문에 그들은 계속 진행합니다. 나중에 인증이 혼란스럽게 실패합니다. 클라이언트 ID 클라이언트 비밀 웹 애플리케이션 자격증서콘솔에서 비밀을 볼 수 있는 유일한 방법 클라이언트 ID와 클라이언트 비밀 웹 애플리케이션 자격증서를 만들기

인증 이 설명은 모바일 인증서 불일치에 대한 것입니다.non-web 애플리케이션 유형, 예를 들어 Android, iOS, 설치된 앱은 클라이언트 ID만 받고 클라이언트 시크릿을 의도적으로 받지 않습니다. 왜냐하면 Google은 사용자가 추출할 수 있는 클라이언트 측 소프트웨어에 신뢰할 수 있는 시크릿을 포함시키지 않기 때문입니다.

그것은 올바른 디자인 선택입니다. 모바일 앱 또는 Electron 패키지는 안전한 시크릿 저장소가 아닙니다.

What works: 공개 클라이언트를 위한 클라이언트 측 OAuth 흐름.
What doesn’t: 웹 인증서를 만들어서 모바일 앱에 강제로 시크릿을 넣으려는 시도.

Capacitor 팀에서 이 문제는 일반적으로 두 가지 나쁜 패턴 중 하나에 나타납니다.

  1. 앱은 웹 클라이언트를 사용하여 브라우저 기반 흐름을 시작하고 그다음에 신뢰할 수 있는 서버와 같이 행동하려고 시도합니다. 앱은 클라이언트 측 OAuth 흐름을 사용하여 클라이언트 ID와 클라이언트 시크릿을 모두 받습니다. 앱은 클라이언트 ID와 클라이언트 시크릿을 모두 받습니다.
  2. 앱은 클라이언트 ID와 클라이언트 시크릿을 모두 받습니다. client secret code를 숨기기 위해 클라이언트를 가지고 있는 것의 목적을 무효화하는 code에서부터

모바일 및 데스크톱 앱을 일반 클라이언트로 다루는 것이 더 나은 접근 방식입니다. 현재 OAuth에서 일반적으로 사용하는 흐름이 __CAPGO_KEEP_0__에 숨겨진 비밀을 의존하지 않기 때문에.백엔드가 참여하는 경우, 백엔드에서 비밀을 숨기지 말고, 네이티브 앱은 일반 클라이언트가 해야 하는 것만 수행하도록 합니다.

Firebase-backed Android sign-in의 또 다른 미묘한 점은 Android 앱이 자신의 플랫폼에 특화된 식별자를 유지하면서, 웹 애플리케이션 타입 클라이언트 ID를 백엔드 서버의 OAuth 클라이언트 ID로 사용하는 것입니다. 이러한 설정은 팀이 두 개의 웹 자격 증명과 모바일 자격 증명을 같은 프로젝트에서 볼 수 있기 때문에 혼란을 일으킵니다. 그들은 하나가 다른 것을 대체한다고 생각합니다. 그 것은 아닙니다. 그들은 서로 다른 역할을 합니다. 만약 여러분이 하나의 규칙을 기억한다면, 다음 규칙을 사용하세요.

__CAPGO_KEEP_0__가 실행되는 위치에 맞는 클라이언트 타입을 선택하세요. __CAPGO_KEEP_0__의 형태가 여러분이 갖고 싶은 자격 증명과 일치하는 것은 아닙니다. Google code 자격 증명 보안.

OAuth 관련된 대부분의 사고는 복잡한 공격으로부터 발생하지 않습니다. 팀은 자격 증명을 누출하거나, 리다이렉트 설정을 너무 넓게 설정하거나, API를 안전한 곳에 넣지 않는 경우가 많습니다.

__CAPGO_KEEP_0__

구글의 OAuth 지침은 클라이언트 ID 및 비밀 키를 개인 데이터로 처리해야 한다고 강조하며, 웹 앱의 경우 클라이언트 ID는 미리 등록된 리다이렉트 URI와 일치하는지 확인합니다. 리다이렉트 URI가 엄격하게 일치하지 않으면 구글은 요청을 거부합니다. 이 출처 바인딩은 토큰截获 방지에 대한 설명에서 설명한 보호 기능의 일부입니다. OAuth.com의 클라이언트 등록 지침.

사무실에서 직업적인 개발자가 두 대의 컴퓨터 모니터를 사용하여 보안 자격 증명을 검토하는 모습.

즉시 잠그해야 하는 것

만약에 몇 가지 일을 정확하게 하려면, 다음을 하세요:

  • Never ship a client secret in app code. 웹 번들, 모바일 바이너리 및 Electron 패키지는 사용자에 의해 검사할 수 있습니다.
  • 정확한 리다이렉트 URI를 등록하세요. 가까운 것은 충분하지 않습니다. 구글은 웹 흐름에 대해 엄격한 일치 검증을 수행합니다.
  • 출처를 단단히 잡아주세요. 넓은 도메인을 허용하여 설정의 마찰을 피하기 위해선 안됩니다.
  • 플랫폼 자격 증명을 분리하세요. 편리함이 안드로이드, iOS, 웹을 하나의 자격 증명으로 밀어내지 않도록 하세요.

운영상의 한 가지 세부 사항은 쉽게 놓치기 쉬운 것입니다. Google은 기존 클라이언트 ID에 대해 새로운 비밀을 생성하고 이전 비밀을 비활성화하는 것을 팀에 허용합니다. 이는 비밀 노출 시나 배포 프로세스를 강화할 때 중요합니다.

보안 팀이 실제로 무엇을 하는지

문제를 피하는 팀은 OAuth 자격 증명을 다른 프로덕션 비밀처럼 다루고 있습니다.

그들은 웹 클라이언트 비밀을 백엔드에 보관하고 환경 관리를 통해 주입하고 콘솔 접근 권한을 감사합니다. 배포 PIPELINE을 정리하는 경우, CI/CD PIPELINE에서 비밀 관리에 대한 이 가이드를 적용하는 것도 가치가 있습니다. 그들은 또한 메타데이터를 검토합니다. 오직 키만 검토하는 것이 아닙니다. 클라이언트 식별자가 사용자에게 표시되는 OAuth 동의 화면과 관련이 있습니다. 애플리케이션 이름이 모호하거나 속임수로 표시되면 사용자는 동의 화면이나 잘못된 애플리케이션을 Approve하는 경향이 있습니다. 보안은 비밀을 숨기기만 하는 것이 아닙니다. 올바른 애플리케이션 식별, 리다이렉트 목적지, 승인 화면이 매번 일치하는지 확인하는 것입니다.

Client ID 오류를 해결하는 방법

대부분의 Google OAuth 실패는 설정상의 작은 실수 때문입니다. 오류 메시지는 항상 친절하지 않지만, 문제의 근본 원인은 일반적으로 해결 방법을 알면 쉽게 파악할 수 있습니다.

대부분의 실패를 해결하는 FIX

OAuth Client ID를 설정하는 방법

OAuth Client ID를 설정하는 방법

redirect_uri_mismatch

앱이 등록된 웹 클라이언트와 정확히 일치하지 않는 리다이렉트 URI를 보내고 있습니다. scheme, host, path 및尾隨 차이점을 확인하십시오. 웹 OAuth의 경우 정확한 일치가 보안 모델의 일부입니다.

invalid_client

이것은 일반적으로 앱이 잘못된 클라이언트 ID를 보내거나, 잘못된 비밀번호를 보내거나, 플랫폼을 혼합하여 인증 정보를 보내는 경우입니다. 예를 들어, Android 또는 iOS 플로우가 잘못된 위치에서 웹 인증 정보를 사용하는 경우입니다.

invalid_request

이것은 광범위한 문제지만, 크로스 플랫폼 앱에서 자주 나타나는 문제로, 인증 매개 변수가 잘못된 경우 또는 클라이언트 유형에 맞지 않는 플로우가 있는 경우입니다. 앱이 비밀번호를 포함하려고 할 때, 또는 선택한 OAuth 플로우가 다른 종류의 클라이언트를 기대하는 경우를 확인하십시오.

Google Sign-In은 웹에서 작동하지만 모바일에서 실패합니다.

첫 번째로 검사해야 하는 것은 클라이언트 유형입니다. 모바일 개발자에게 가장 일반적인 오류의 원인은 웹 애플리케이션 클라이언트 ID를 생성하여 클라이언트 비밀번호를 얻으려고 하는 것입니다. 그러나 Android 또는 iOS 유형을 사용해야 하며, 이 유형은 비밀번호를 생략하는 경우가 많습니다. 클라이언트 비밀번호 일치 오류에 대한 자세한 설명을 참조하십시오. 인증 토큰의 생명 주기를 관리하는 구현이 포함되어 있다면, 인증 후 토큰 취소에 대한 안내서도 유용합니다.

Android 인증이 인증 정보 생성 후 실패합니다.

Android 클라이언트에 첨부된 SHA1 지문이 올바른지 확인하십시오. Google이 기대하는 것과 일치하지 않는다면, 앱이 소유권을 증명할 수 없습니다.

consent 화면이 이상합니다.

OAuth 설정을 콘솔에서 확인하여 애플리케이션 이름과 브랜드를 확인하세요. 사용자는 콘솔에서 보는 것에 동의하므로 잘못된 메타데이터는 신뢰 문제와 지원 소음으로 이어집니다.

실제 디버깅 순서는 간단합니다: 클라이언트 유형을 먼저 확인한 다음 리다이렉트 설정, 플랫폼 식별자, 비밀 키가 흐름에 포함되어야 하는지 여부를 확인하세요..


Capacitor 또는 Electron 앱을 배포하는 팀은 인증 오류가 거의 격리되지 않습니다. 그들은 일반적으로 출시 압박, 롤백 필요, 환경별 수정과 함께 표면화됩니다. Capgo code

Capacitor 앱의 실시간 업데이트

Capgo를 사용하여 웹-layer 버그가 생겼을 때, 앱 스토어 승인까지 며칠 기다리지 않고 바로 픽스를 배포하세요. 사용자는 배경에서 업데이트를 받으며, 네이티브 변경 사항은 일반적인 검토 경로를 유지합니다.

시작하기

블로그에서 최신 뉴스

Capgo는 전문적인 모바일 앱을 만들기 위해 필요한 최고의洞察력을 제공합니다.