본문으로 바로 가기

2026년 구글 클라이언트 ID를 위한 가이드

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

2026년 클라이언트 ID 구글: 2026년 가이드

당신은 구글 시그니인이 빠른 통합이 되어야 할 것 같았고, 대신 자격 증명 화면을 보면서 왜 한 가지 앱 유형이 클라이언트 시크릿을 제공하고 다른 것들은 제공하지 않는지 궁금해하는 것일 수 있습니다. 이 혼란은 특히 Capacitor, 이온, 전자, 또는 혼합 웹 및 네이티브 스택으로 빌드하는 경우 일반적입니다.

가이드 대부분은 생략하는 부분이 있습니다. 구글 클라이언트 ID는 플랫폼에 따라 다릅니다., 그리고 웹 앱이 아닌 유형은 don’t 목차

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

구글 생태계와 연결하는 방법

많은 팀이 동시에 이 문제를 겪습니다. 그들은 구글에 로그인, 또는 사용자가 Drive나 캘린더와 같은 것을 접근할 수 있도록 승인된 접근 권한을 원하고, 갑자기 API 키가 더 이상 충분하지 않다.

, 또는 사용자가 승인한 액세스 권한이 필요한 것과 같은 드라이브나 캘린더와 같은 것에 대한 액세스를 원하고 suddenly __CAPGO_KEEP_0__ 키가 더 이상 충분하지 않습니다. 애플리케이션API 인증 정보입니다. 그것은 __CAPGO_KEEP_0__가 호출되는 것만 아니라.

구글 클라이언트 ID

OAuth 구현을 위한 실용적인 설정은 몇 가지 구현 질문에 따라 결정됩니다.

  • 실용적인 OAuth 설정은 일반적으로 몇 가지 구현 질문으로 귀결됩니다:
  • Google Client ID를 필요로 하는 경우
  • redirect URI 또는 origin이 정확히 일치해야 하는지
  • 모바일 및 웹 흐름을 혼합된 자격 증명으로 연결하지 않고 wire하는 방법
  • 브라우저 내에서 작동하는 흐름이 네이티브 wrapper 내에서 실패하는 이유

실용적인 규칙: 사용자 동의 또는 로그인 요청을 하는 앱이면 OAuth 클라이언트 유형을 생각하는 것이 좋습니다. API 키가 아닌.

이 distinction은 초기에 시간을 절약하고, 또한 웹 자격 증명을 네이티브 로그인 흐름에 구축하는 일반적인 오류를 방지합니다. 만약 이 구현을 Capacitor 앱에서 진행한다면, 이 앱 내 흐름에 대한 유용한 동반자로 작용하는 OAuth2 in Capacitor 앱에 대한 이 안내서 OAuth2 in Capacitor 앱 A

Google OAuth 2.0 클라이언트 ID

A redirect URI 또는 origin이 정확히 일치해야 하는지 Google Client ID는 Google의 인증 시스템에서 애플리케이션의 공개 식별자입니다. Google은 Google 인증 엔드포인트에서 액세스 토큰을 요청할 때 애플리케이션의 고유한 사용자 이름으로 설명하며, API 키와 구별되는 점은 OAuth 흐름에서 앱의 신원을 확인하기 위해 토큰 교환 중에 사용되는 것입니다. Google Cloud의 OAuth Client 문서를 참조하십시오..

Google Client ID는 애플리케이션의 고유 식별자 및 보안层로 작동하는 다이어그램입니다.

간단한 정신 모델

Google Client ID는 앱의 공개 사용자 이름 Google에 "이 요청은 등록된 애플리케이션에서 오는 것입니다."라고 말합니다. 이 점은 로그인, 동의, 토큰 교환 및 사용자가 앱을 대신하여 작동하도록 요청할 때 중요합니다. Client ID는 앱과 Google의 인증 서버 모두에서 참조되어야 합니다. 이 자격 증명이 사람들을 혼란스럽게 하는 것은 이 자격 증명이 두 가지 다른 개념과 교환할 수 없다는 것입니다..

Client ID

OAuth에서 앱을 식별합니다.

Client ID는 앱의 인증서
API 키 API 키는 특정 API 호출에 대해 사용자 인증을 위임하지 않는 프로젝트를 식별합니다.
클라이언트 시크릿 클라이언트 시크릿은 안전하게 비밀을 저장할 수 있는 흐름 및 앱 유형에서만 사용되는 비밀의 비밀 counterpart입니다.

많은 깨진 통합은 이러한 것을 동일한 것의 변형으로 다루는 사람들 때문입니다. 그들은 아님.

클라이언트 ID Google의 실제 위치

만약에 구글로 로그인 또는 구글로 로그인 또는One Tap

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

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

  • 앱을 식별하기 위해 클라이언트 ID를 사용하십시오.
  • 사용자에게 앱을 대표하기 위해 동의 화면을 사용하십시오.
  • 비밀번호가 흐름에 포함되어야 하는지 결정하기 위해 올바른 앱 유형을 사용하십시오.

앱 식별 및 위임된 접근 권한이 어떻게 함께 작동하는지 더 넓은 개요를 원한다면 앱 인증에 대한 이 안내서 클라이언트 ID를 만들고 보는 방법

클라이언트 ID 만들기 및 확인 방법

Google Auth Platform > 클라이언트 경로와 더 오래된 APIs & Services > 자격 증명 APIs & Services > 인증 정보 경로, Google의 설정 문서에 설명된 대로 Google의 설정 문서를 참조하세요.

Google Cloud 콘솔에서 OAuth 2.0 클라이언트 인증서를 생성하는 데 사용하는 컴퓨터를 표시하는 노트북 위에 있는 사람.

올바른 콘솔 영역에서 시작하세요

Google Cloud 콘솔을 열고 인증 구성이 소유할 프로젝트를 선택하거나 생성하세요. 인증을 여러 프로젝트에 흩어져 있으면 후에 ауд팅 및 지원이 고통스러울 것입니다.

그 다음으로 다음 중 하나로 이동하세요:

  1. Google Auth Platform > 클라이언트
  2. APIs & Services > 자격 증명

팀이 다른 네비게이션 레이블을 보는 것이 예상됩니다. 구글은 식별 설정을 나머지 API 자격 증명 표면에서 분리했습니다.

인증 자격 증명을 생성하세요. BOX를 사용하지 마세요.

새 OAuth 클라이언트를 생성할 때 가장 큰 결정은 응용 프로그램 유형Google은 특정 유형을 선택하도록 요청합니다. 예를 들어 웹, 안드로이드, iOS또는 데스크톱. 이 선택은 단순히 외관을 바꾸는 것이 아니라 앱을 식별하고 필요한 지원 구성이 무엇인지 정의합니다.

웹 앱의 경우 다음 값을 입력할 수 있습니다:

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

이 값은 정확해야 합니다. 웹 자격 증명에 대한 경우, Google은 전체 스킴과 호스트 이름을 기대합니다. 예를 들어 https://www.example.com, 대신/loose 도메인 개념입니다.

모바일 플랫폼에서 shape은 다릅니다. Android 등록은 패키지 수준의 식별성과 소유권 확인이 필요하며, iOS는 플랫폼 식별자만 사용합니다. Google 인증을 다른 인증 layer와 combination하는 경우, 이 Capacitor social login setup with Supabase 은 이러한 조각이 종종 어떻게 함께 작동하는지 보여주는 유용한 예입니다.

이 walkthrough은 UI를 비교하고 클릭하는 동안 시각적 참조가 될 것입니다:

위치 찾기

생성 후 클라이언트 ID는 프로젝트의 자격 증명 목록에 표시됩니다. 동일한 프로젝트 공간은 팀이 API를 활성화하고 OAuth 식별성이 동의 화면과 연결되는지 확인하는 곳입니다. 등록된 애플리케이션 이름은 사용자가 허용 요청 시 표시되는 이름입니다. 이는 앱 이름이 정확하게 지정되는 이유 중 하나입니다.

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

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

플랫폼별 클라이언트 ID 설정

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

어떤 앱은 여러 클라이언트 ID가 필요합니다.

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

A 웹 앱, Android 빌드, iOS 빌드, 데스크톱 앱 동일한 보안 속성을 제공하지 않습니다. 동일한 방식으로 사용자 인증을 증명하지 않으며, 모든 앱은 신뢰할 수 있는 환경에서 인증 정보를 저장하지 않습니다. Google은 각 플랫폼에 독립된 앱 등록 모델을 제공하여 이를 해결합니다.

이 분리는 좋은 보안 관행입니다. 하나의 플랫폼의 인증 정보 설정이 취약하거나 잘못 구성된 경우 다른 플랫폼은 자동으로 노출되지 않습니다.

구체적인 구분을 따라야 할 것입니다:

  • 웹 웹 클라이언트 ID와 엄격한 원본 및 리다이렉션 URI 매칭을 사용합니다.
  • 안드로이드 안드로이드 클라이언트 ID는 패키지 식별성과 SHA1 지문과 연결됩니다.
  • iOS iOS 클라이언트 ID는 앱의 번들 식별성과 연결됩니다.
  • 데스크톱 또는 Electron 일반적으로 설치된 또는 데스크톱 스타일 OAuth 패턴을 사용하는 대신 비밀 기반 브라우저 흐름을 사용하지 않습니다.

구글 클라이언트 ID 유형 비교

애플리케이션 유형 주 식별자 클라이언트 시크릿 제공? 사용 사례
웹 인증된 자바스크립트 출처 및 리다이렉션 URI 보통 yes 브라우저 앱 및 백엔드 지원 웹 OAuth
안드로이드 패키지 식별자 및 SHA1 지문 보통 no 네이티브 안드로이드 로그인
iOS 앱 번들 식별자 가끔은 iPhone과 iPad의 네이티브 로그인
데스크톱 설치된 앱 식별 가끔은 Electron-style 네이티브 흐름을 포함한 데스크톱 앱

모바일과 데스크톱 개발자들은 종종 OAuth 클라이언트가 클라이언트 ID와 클라이언트 시크릿을 모두 포함하는 것을 기대합니다.

클라이언트 시크릿의 모바일과 데스크톱의 역설

이것은 많은 튜토리얼이 틀린 부분입니다. 클라이언트 ID 클라이언트 시크릿 OAuth 클라이언트. 그 다음으로 그들은 웹 애플리케이션 인증을 위해 자격 증명이 필요합니다.

그것이 콘솔에서 비밀을 볼 수 있는 유일한 방법이기 때문입니다. 플로우가 더 완전해 보이므로 그들은 계속 진행합니다. 나중에 인증이 혼란스럽게 깨지게 됩니다.

이 설명에 따르면 모바일 자격 증명 불일치

이것이 작동합니다. 공개 클라이언트를 위한 네이티브 또는 클라이언트 사이드 OAuth 흐름.
그것은 Google가 사용자가 클라이언트 측 소프트웨어에 비밀을 포함시켜 추출할 수 있으므로 클라이언트 측 소프트웨어에 비밀을 포함시키지 않으려는 것입니다. 그것은 올바른 디자인 선택입니다.

For Capacitor 팀들에겐 일반적으로 두 가지 나쁜 패턴 중 하나가 나타납니다.

  1. 앱은 웹 클라이언트를 사용하여 브라우저 기반 흐름을 시작하고 나서 비밀 서버처럼 행동하려고 시도합니다. 웹 클라이언트 공개된 클라이언트처럼 행동하는 것이 더 낫습니다.
  2. 클라이언트 비밀번호 __CAPGO_KEEP_0__ code에서 제공되는 클라이언트 ID는 Google의 비밀을 드러내는 것입니다.

공개된 클라이언트 모바일 및 데스크톱 앱을 공개된 클라이언트로 처리하는 것이 더 낫습니다.오늘날의 OAuth에서 일반적으로는 비밀번호가 숨겨지지 않은 클라이언트를 사용하는 흐름을 사용합니다.

백엔드가 참여하는 경우, 백엔드에서 비밀번호를 숨기고 네이티브 앱은 공개된 클라이언트가 해야 할 일을 제한하는 것이 좋습니다. 또 다른 중요한 점은 Firebase 백앤드 Android 로그인 설정에서 웹 애플리케이션 타입 클라이언트 ID가 백엔드 서버의 OAuth 클라이언트 ID로 사용되고 Android 앱이 자신의 플랫폼별 식별성을 유지하는 경우입니다. 웹 애플리케이션 타입 클라이언트 ID

만약에 기억할 수 있는 규칙이 있다면, 이 규칙을 기억하세요: code가 실행되는 위치에 맞는 클라이언트 타입을 선택하세요. (인증 정보의 형태가 원하는 대로 되지 않더라도).

API의 Google 인증 정보를 보안하는 방법

OAuth 관련 문제의 대부분은 복잡한 공격이 아닌 팀의 인증 정보를 유출하거나, 리다이렉트 설정을 너무 넓게 하거나, 비밀을 안전하지 않은 곳에 저장하는 것 때문입니다.

Google의 OAuth 지침은 클라이언트 ID와 비밀을 개인 데이터로 다루어야 한다고 강조하고 있습니다. 웹 앱의 경우, 클라이언트 ID는 미리 등록된 리다이렉트 URI와 정확히 일치해야 합니다. 리다이렉트 URI가 정확히 일치하지 않으면 Google은 요청을 거부합니다. 이 원본 바인딩은 토큰 추적 방지에 대한 보호 기능입니다. 자세한 내용은 OAuth.com의 클라이언트 등록 지침.

사무실에서 직업적인 개발자가 보안 인증 정보를 검토하는 모습.

즉시 잠그어야 하는 것

만약에 몇 가지 사항을 올바르게 처리한다면, 다음을 기억하세요:

  • code에 클라이언트 비밀을 배포하지 마세요. 웹 패키지, 모바일 바이너리, Electron 패키지는 사용자가 검사할 수 있습니다.
  • 정확한 리다이렉트 URI를 등록하세요. Close enough는 충분하지 않다. Google은 웹 흐름에 대해 엄격한 일치 검증을 수행합니다.
  • 원본을 단단히 유지하세요. 설치摩擦를 피하기 위해 넓은 도메인을 인증ize하는 것은 피하세요.
  • 플랫폼 자격 증명을 분리하세요. Android, iOS, 웹을 하나의 자격 증명으로 인증하는 것은 피하세요.

운영적인 세부 사항 하나가 쉽게 놓치게 됩니다. Google은 기존 클라이언트 ID에 새로운 비밀을 생성하고 이전 비밀을 비활성화할 수 있도록 허용합니다. 이것은 비밀 노출 시나 배포 프로세스를 강화할 때 중요합니다.

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

안전한 팀은 OAuth 자격 증명을 다른 프로덕션 비밀처럼 다루고 있습니다.

그들은 웹 클라이언트 비밀을 백엔드에 유지하고 환경 관리를 통해 주입하고 콘솔 접근을 감사합니다. 릴리스 PIPELINE을 정리하는 경우, CI/CD PIPELINE에서 비밀 관리에 대한 이 가이드를 적용하는 것이 가치가 있습니다. CI/CD PIPELINE에서 비밀 관리 인증 설정을 정리하는 경우, CI/CD PIPELINE에서 비밀 관리에 대한 이 가이드를 참조하세요.

인증 설정을 정리하는 경우, CI/CD PIPELINE에서 비밀 관리에 대한 이 가이드를 참조하세요.

보안은 단순히 비밀을 숨기기만 하는 것이 아니다. 올바른 앱 식별자, 리다이렉트 목적지 및 승인 화면이 매번 일치하는지 확인하는 것 또한 중요하다.

클라이언트 ID 오류를 해결하는 방법

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

오류를 해결하는 방법

redirect_uri_mismatch

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

invalid_client

이 경우 일반적으로 앱이 올바른 클라이언트 ID, 올바른 비밀 키를 보내지 않았거나 플랫폼 간에 인증 자격 증명을 혼용한 경우이다. 예를 들어 Android 또는 iOS 흐름이 웹 자격 증명을 잘못된 위치에서 사용하는 경우이다.

invalid_request

이 경우는 광범위하지만, 크로스 플랫폼 앱에서 일반적으로 오류를 일으키는 원인은 malformed auth 매개 변수 또는 클라이언트 유형에 맞지 않는 흐름이다. 앱이 비밀 키를 포함하려고 할 때, 또는 선택한 OAuth 흐름이 다른 종류의 클라이언트를 기대하는지 확인하십시오.

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

첫 번째로 검사해야 하는 것은 클라이언트 유형이다. 모바일 개발자에게 가장 일반적인 오류의 원인은 웹 애플리케이션 클라이언트 ID를 생성하여 클라이언트 비밀 키를 얻기 위해 사용했을 때이다. 그러나 Android 또는 iOS 유형을 사용해야 하며, 이 유형은 의도적으로 비밀 키를 생략하는 경우가 많다. 구독자 ID와 Google ID가 일치하지 않는 경우의 분해구독자 ID와 Google ID가 일치하지 않는 경우의 분해입니다. 구독자 ID의 생명 주기 작업이 인증 후에 수행되는 경우, 취소 가이드도 유용합니다.

Android 인증이 인증 후에 실패하는 경우

Android 클라이언트에 첨부된 SHA1 지문이 올바르지 않은 경우, 앱이 소유권을 증명하지 못합니다.

Consent 화면이 이상합니다.

OAuth 설정에서 콘솔에 첨부된 애플리케이션 이름과 브랜딩을 확인하세요. 사용자는 콘솔에 첨부된 정보를 보고 인증을 하므로, 잘못된 메타데이터는 신뢰 문제와 지원 문제를 발생시킵니다.

실제 디버깅 순서는 간단합니다: 클라이언트 타입을 확인한 후, 리다이렉트 설정, 플랫폼 식별자, 비밀 키가 흐름에 포함되어 있는지 확인하세요..


팀이 Capacitor 또는 Electron 앱을 배포하는 경우, 인증 문제는 거의 항상 배포 압박, 롤백 필요, 환경별 수정과 함께 발생합니다. Capgo code

Live Update를 통해 Capacitor 앱에 즉시 업데이트를 제공하는 방법

웹层 버그가 생긴 경우, 앱 스토어 승인까지 기다리지 않고 Capgo를 통해 패치를 배포할 수 있습니다. 사용자는 배경에서 업데이트를 받을 수 있고, 네이티브 변경은 일반적인 검토 경로를 유지합니다.

마틴의 인간 지원

시작하기

최신 블로그

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